PHP参数的目的

时间:2012-03-06 16:29:27

标签: php function 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);
?>

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

7 个答案:

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