函数的两个参数
像你在前面章节所看到的函数在你每次调用的时候打印同样的值。尽管前六次这个看起来很有趣,但它在第七次的时候可以令人感到厌烦。为使得这些枯燥、没有智能的函数变得稍许精彩些,我们所需要做的就是让它们在每次被调用的时候返回不同的值。
输入参数(Enter argument)
参数通过在函数内使用一占位符来代表一个特定的变量而起作用。该变量的值在程序运行时从主程序提供给函数。因为函数每次调用的时候输入函数的变量值不同,所以结果也会不同。
想弄明白它是怎么工作的,请看下面的函数,该函数接受单一的参数然后在运算后将结果打印出来:
<?php // define a function function getCircumference($radius) { echo "Circumference of a circle with radius $radius is ".sprintf
("%4.2f", (2 * $radius * pi()))."<br />"; } // call a function with an argument getCircumference(10); // call the same function with another argument getCircumference(20); ?>
在这个例子中,当参数调用getCircumference()函数时,该参数值被赋给函数内的占位符变量$radius,然后就按照函数内部定义的代码行事。
向函数传递超过一个的参数也是可能的。这个可以采用逗号分割的参数列表来实现,就像下面例子显示的那样:
<?php
![]()
// define a function
function changeCase($str, $flag) {
/* check the flag variable and branch the code */
switch($flag) {
case 'U':
print strtoupper($str)."<br />";
break;
case 'L':
print strtolower($str)."<br />";
break;
default:
print $str."<br />";
break;
}
}
![]()
// call the function
changeCase("The cow jumped over the moon", "U");
changeCase("Hello Sam", "L");
![]()
?>
这里,根据第二个参数的值,函数内部的程序流程移动到适当的分支然后对第一个参数进行操作。
请注意,这里没有要求指定传递给函数的参数的数据类型。因为PHP是一种动态类型的语言,所以它自动识别变量类型然后对该变量类型进行适当的动作。
