我正在努力掌握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
,因为它正在处理我们调用函数时指定的值。