PHP参数的用途


Purpose of PHP parameters

我正在努力掌握PHP函数的概念。我知道如何创建一个。

function functionName()
{
    //code to be executed;
}

我也知道如何调用函数。我只是有点困惑一个参数是用来做什么的。我已经阅读了php手册和w3schools.com的教程。根据我的理解,您需要一个参数来将值传递给函数?如果这是正确的,为什么不在函数中创建它呢?为什么要使用参数?

像这样:

<?php
function num()
{
$s=14;
echo $s;
}
num();
 ?>  

我知道你能做到:

<?php
function num($s=14)
{
    echo $s;
}
num();
?>

或:

<?php
function num($s)
{
    echo $s;
}
num($s=14);
?>

有人能给我一个使用参数的真实应用程序吗,比如说一个基于用户的动态内容网站?我想这会帮助我更好地理解它。

通过传递参数可以多次使用一个函数。例如:

如果你想写一个发送邮件的函数,你可以传递以下参数:

$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['subject'];

然后,在您的功能中:

 function sendmail($to, $from, $subject){
//code to be executed
}

现在,您可以在web应用程序的不同位置重用发送功能。

这里有一个例子,假设你有代表颜色的数字(这在数据库中存储数据时很常见),你想输出代表什么颜色的数字。

假设你必须为一百个数字做一百次。

你会把100个if的陈述写100次,觉得很累。

下面是一个函数示例。。。

function colorType($type) {
    if ($type == 1) {
        return "Green";
    }
    elseif ($type == 2) {
        return "Blue";
    }
    elseif ($type == 3) {
        return "Red";
    }
    // etc
}
echo colorType(1) . "<br>"; // Green
echo colorType(2) . "<br>"; // Blue
echo colorType(3) . "<br>"; // Red

函数执行某些操作并给出结果。它可以接受参数来获得该结果,也可以不接受。如上所述,简单的计算器是一个很好的计算器。

理解函数和参数最简单的方法就是阅读PHP手册——PHP核心语言中的大多数函数都有某种类型的参数。这些函数与您编写的函数没有什么不同。

假设您想要创建一个允许人们求和的函数,您不能在函数中写入所需的变量,因为您希望其他人输入它,并且您的函数显示输出:

function add($num1, $num2){
  return $num1 + $num2;
}

现在任何人都可以调用/使用您的函数求和:

echo add(5,1); // 6
echo add(2,1); // 3
echo add(15,1); // 16

这是我们可以给出的解释为什么需要参数的最简单的例子:)

当您指定function name($var=VALUE)时,您正在设置默认值。

function doit($s=14) {
  return $s + 5;
}
doit();  // returns 19
doit(3); // returns 8

它使您的函数能够灵活地在各种情况下重用,否则您将不得不编写许多函数,每个场景一个。如果必须修复这些函数中的某些内容,这不仅是乏味的,而且会成为一场噩梦。与其在一个地方修复,不如在多个地方修复。您基本上不想复制粘贴已经编写的代码,而是使用参数使一组代码足够灵活,可以处理每种情况。

参数允许函数查看存在于自身之外的变量的值。

例如:

function F_to_C($temp) { $temp = ($temp - 32) / 1.8; return $temp; }

$temperature = 32;

$new_temperature = F_to_C($temperature); // 0

echo $temperature;

$temperature2 = F_to_C(212); // 100

echo $temperature2;

这里我们取$temperature,它是我们在代码中定义的,但可以是来自表单的用户输入,然后将其发送到函数F_to_C。这使我们能够将其转换为摄氏度,这样我们就可以在之后显示它。在下一节中,我们重新使用函数来转换沸点,这次直接将其作为值212发送。如果我们第一次在函数中嵌入$temperature = 32,那么结果仍然是0。但是,由于我们使用的是参数,所以我们会返回100,因为它正在处理我们调用函数时指定的值。