一个函数可由以下的语法来定义:
function foo($arg_1, $arg_2, ..., $arg_n)
{
echo "Example function.\n";
return $retval;
}
?>
上面的函数与其它语言的函数没有区别,这里主要介绍php5函数的特殊性;
有条件的函数,只有当表达式为真时,函数才有效;
if ($makefoo) {
function foo()
{
echo "I don't exist until program execution reaches me.\n";
}
}
函数中的函数,只有先执行完foo()后,bar函数才有效;
function foo()
{
function bar()
{
echo "I don't exist until foo() is called.\n";
}
}
PHP 中的所有函数和类都具有全局域,可以在内部定义外部调用,反之亦然。
PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。
注: 函数名是非大小写敏感的,不过在调用函数的时候,通常使用其在定义时相同的形式。
可变参数,可变长度的参数列表和涉及到的相关函数 func_num_args(), func_get_arg(),以及 func_get_args() 以获取更多的信息。
function foo($w)
{
$numargs = func_num_args();
echo "Number of arguments: $numargs
\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "
\n";
}
$arg_list = func_get_args();
foreach($arg_list as $var){
echo "Argument $i is: ",$var,"
";
}
echo $w;
}
foo(1, 2, 3);
?>