函数的任意参数,默认参数,递归函数,重用函数等
function fun1()
{
echo "a
";
}
fun1();
fun1(1,2,3,4);//实参多于形参的状况
?>
得到的结果为:
a
a
在c等语言中要想达到这样的效果就要用到函数重载。
function fun1($a,$b,$c,$d)
{
echo "a
";
}
fun1();//实参少于形参的情况
fun1(1,2,3);//可以输出结果但会出现警告,可以用@屏蔽掉警告
?>
——————————————————————————————————————————————
function fun1($a=1,$b=2,$c=3,$d=5)//1235为默认参数
{
echo "a
";
echo "b
";
echo "c
";
echo "d
";
}
fun1();//得到换行的1235
fun1("aaa");得到换行的aaa 2 3 5
function fun($a)
{
$args=func_get_args();
echo count($args);
echo
"
";
echo $args[n];n可替换用数字
}
fun(1,2,3,5,6);
function fun($a)
{
$num=0;
$args=func_get_args();
for($i=0;$i
{
$sum+=$args[$i];
}
return
$sum;
}
echo fun(1,2,3,5,688,100);//得到结果为799.
——————————————————————————————————————————
所谓的变量函数是把函数付给变量。
function test()
{
echo "aa";
}
function demo()
{
echo "bb";
}
$a=test;
$a();//得到aa
如果在$a()前加上$a=demo;则得到bb
function test()
{
echo "aa";
}
function demo($a)
{
echo "bb".$a;
}
$a=test;
$a=demo;
$a(100);//得到的结果为bb100
______________________________________________________________________
递归函数就是自己调用自己。
function demo($a)
{
echo
"aaa".$a."
";
if($a>0)
demo(--$a);
}
demo(3);
得到结果为:
aaa3
aaa2
aaa1
aaa0
function demo($a)
{
if($a>1)
{
$r=$a*demo($a-1);
}else
{
$r=$a;
}
return $r;
}
echo demo(10);//求10的阶乘得到3628800
}