批改状态:不合格
老师批语:你这个递归函数使用后的计算结果真的是3-100之和吗?
//命名函数作为回调函数function sum($n){ //数组求和$result = 0;for($i = 0;$i<count($n);$i++) $result += $n[$i];return $result;}function printArr($arr,$callback){ //打印数组中每一项的值,并利用回调函数求和foreach($arr as $value) echo $value.'<br>';return $callback($arr);}echo '求和结果为:'. printArr([1,89,34],'sum');ob_clean();//匿名函数作为回调函数$sum = function ($n){ //数组求和$result = 0;for($i = 0;$i<count($n);$i++) $result += $n[$i];return $result;} ;echo '求和结果为:'. printArr([1,89,34],$sum);
在网络请求或执行复杂业务逻辑时,需要耗费大量的时间,有可能会造成线程阻塞,影响代码的执行效率,就需要用使用系统提供的call_user_func()或者call_user_func_array()来执行回调
//求3-100之间的正整数之和$count = 0;function compSum($n1,$n2){global $count;if($n1 <= $n2 ){$count += $n1;compSum(++$n1,$n2);}return $count;}echo '3到100之和:'.compSum(1,100);//递归的思维还有待提升,很容易把人绕晕,我这个递归的demo有点太牵强
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号