Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP参数的用途_Php_Function_Parameters - Fatal编程技术网

PHP参数的用途

PHP参数的用途,php,function,parameters,Php,Function,Parameters,我试图掌握PHP函数的概念。我知道如何创建一个 function functionName() { //code to be executed; } 我还知道如何调用函数。我只是对参数的用途有点困惑。我已经阅读了php手册和w3schools.com的教程。据我所知,您需要一个参数来将值传递给函数?如果这是正确的,为什么不在函数中创建它呢?为什么要使用参数 像这样: <?php function num() { $s=14; echo $s; } num(); ?>

我试图掌握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();
?>

或:



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

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

function add($num1, $num2){
  return $num1 + $num2;
}
现在,任何人都可以调用/使用您的函数对数字求和:

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

这是解释为什么需要参数的最简单的例子:)

下面是一个例子,假设您有表示颜色的数字(这在数据库中存储数据时很常见),您希望输出数字表示的是什么颜色

假设你为了一百个数字做了一百次

如果你写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
函数颜色类型($type){
如果($type==1){
返回“绿色”;
}
elseif($type==2){
返回“蓝色”;
}
elseif($type==3){
返回“红色”;
}
//等
}
回声颜色类型(1)。“
”;//绿色 回声颜色类型(2)。“
”;//蓝色 回声颜色类型(3)。“
”;//红色
传递参数允许您多次使用一个函数。例如:

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

$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['subject'];
然后,在您的函数中:

 function sendmail($to, $from, $subject){

//code to be executed

}

现在,您可以在web应用程序中的不同位置重复使用send函数。

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


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

当您指定
函数名($var=VALUE)
时,您将设置默认值

function doit($s=14) {
  return $s + 5;
}

doit();  // returns 19
doit(3); // returns 8

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

参数允许您的函数查看自身外部存在的变量的值

例如:


函数F到C($temp){
$temp=($temp-32)/1.8;
返回$temp;
}

$temperature=32

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

回波温度

$temperature2=F_至_C(212);//一百

echo$temperature2;


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

如何使数字/颜色关联值在每次回显时增加一个?一个foreach循环?如何在数据库中创建这种类型的关联?我在函数外部定义变量时遇到了问题。我得到一个“缺少参数”错误。我做错了什么?@user1174762了解变量范围。这是有原因的。在函数内部使用全局变量通常被认为是不好的做法。@user1174762您可以使用“global”关键字访问函数作用域之外的变量,例如:通常-a'Missing Argument'错误表示函数需要一个未接收到的变量。
function doit($s=14) {
  return $s + 5;
}

doit();  // returns 19
doit(3); // returns 8