我试图掌握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);
?>
有人可以给我一个使用参数的真实应用,比如说可能是基于用户的动态内容网站吗?我想这会帮助我更好地理解它。
答案 0 :(得分:3)
传递参数允许您多次使用一个功能。例如:
如果您想编写一个发送邮件的函数 - 您可以传递以下参数:
$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['subject'];
然后,在你的函数中:
function sendmail($to, $from, $subject){
//code to be executed
}
现在,您可以在网络应用中的各个位置重复使用发送功能。
答案 1 :(得分:1)
假设您要创建一个允许人们对数字求和的函数,您不能在函数中编写所需的变量,因为您希望其他人输入它并且您的函数显示输出:
function add($num1, $num2){
return $num1 + $num2;
}
现在任何人都可以调用/使用你的函数来总结数字:
echo add(5,1); // 6
echo add(2,1); // 3
echo add(15,1); // 16
这是最强 最简单的 示例,可以解释为什么需要参数:)
答案 2 :(得分:1)
这是一个例子,假设您有代表颜色的数字(这在数据库中存储数据时很常见),并且您想输出代表什么颜色的数字。
假设您必须在一个时间内完成一百个数字。
你会厌倦100次写出100 if
个陈述。
这是一个功能示例......
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
答案 3 :(得分:1)
一个函数可以执行某些操作,并给出结果。它可能接受参数来得出那个结果,它可能不会。如上所述,简单的计算器是一个很好的计算器。
理解函数和参数的最简单方法是阅读PHP手册 - 核心PHP语言中的大多数函数都采用某种参数。这些功能与您编写的功能没有什么不同。
答案 4 :(得分:0)
指定function name($var=VALUE)
时,您将设置默认值。
function doit($s=14) {
return $s + 5;
}
doit(); // returns 19
doit(3); // returns 8
答案 5 :(得分:0)
它使您的函数可以灵活地在各种情况下重用,否则您将不得不编写许多函数,每个场景一个。这不仅乏味,而且如果你必须在这些功能中修复某些东西,那就变成了一场噩梦。而不是将它固定在一个地方,你将不得不在许多地方修复它。你基本上不想复制你已编写的粘贴代码,而是使用参数使一组代码足够灵活,以处理每种情况。
答案 6 :(得分:0)
参数允许您的函数查看存在于其自身之外的变量的值。
例如:
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
,因为它正在处理我们在调用函数时指定的值。