解析PHP可变函数的经典用法
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
复制代码 代码如下:
<?php
function map($fun, $list,$params=array()){
$acc=NULL;
$last=array_push($params, NULL,$acc)-1;
foreach($list as $params[$last-1]){ //第一次见这种写法感觉很神奇
$params[$last]=call_user_func_array($fun , $params );
}
$acc=array_pop($params);
return $acc;
}
function add($element,$acc){
if ($acc == NULL);
return $acc=$element+$acc;
}
$result=0;
$result=addTo($result,1);
$result=addTo($result,2);
$result=addTo($result,3);
echo "result = $result\n";
$result=0;
$result=map('addTo',array(1,2,3));
echo "result= $result\n";
?>
这样以后累加 类似的计算就方便多了。。。
<?php
function map($fun, $list,$params=array()){
$acc=NULL;
$last=array_push($params, NULL,$acc)-1;
foreach($list as $params[$last-1]){ //第一次见这种写法感觉很神奇
$params[$last]=call_user_func_array($fun , $params );
}
$acc=array_pop($params);
return $acc;
}
function add($element,$acc){
if ($acc == NULL);
return $acc=$element+$acc;
}
$result=0;
$result=addTo($result,1);
$result=addTo($result,2);
$result=addTo($result,3);
echo "result = $result\n";
$result=0;
$result=map('addTo',array(1,2,3));
echo "result= $result\n";
?>
这样以后累加 类似的计算就方便多了。。。
下一篇:使用PHP求两个文件的相对路径