<?php
//使用函数递归实现阶乘功能
function order($arg)
{
if ($arg>1)
return $arg * order($arg -1);
return 1;
}
function call()
{
echo " 通过变量调用函数<br> " ;
}
$n=6;
$temp = order($n);
echo "$n 的阶乘是$temp<br> " ;
$arg = "call";
$arg( ) ;
?>请问下:
return $arg * order($arg -1); //返回函数值
return 1; //返回值
这两句,return是结束函数,那么return 1;有什么作用呐?我去掉return 1;答案就不对。但是return $arg * order($arg -1);过后就结束了return 1;还执行嘛?书上写的一个是返回函数值,一个是返回值,两者有什么区别?谢谢麻烦各位大虾指点指点~~~~~~
//使用函数递归实现阶乘功能
function order($arg)
{
if ($arg>1)
return $arg * order($arg -1);
return 1;
}
function call()
{
echo " 通过变量调用函数<br> " ;
}
$n=6;
$temp = order($n);
echo "$n 的阶乘是$temp<br> " ;
$arg = "call";
$arg( ) ;
?>请问下:
return $arg * order($arg -1); //返回函数值
return 1; //返回值
这两句,return是结束函数,那么return 1;有什么作用呐?我去掉return 1;答案就不对。但是return $arg * order($arg -1);过后就结束了return 1;还执行嘛?书上写的一个是返回函数值,一个是返回值,两者有什么区别?谢谢麻烦各位大虾指点指点~~~~~~
if ($arg>1){
return $arg * order($arg -1);
}
return 1; 其实是这样的,因为return $arg * order($arg -1);只有一句,所以省略了大括号,明白了吧?
如果 order($arg -1) 返回 NULL
那么 $arg * order($arg -1) 将为 0
显然不是你需要的