解析PHP可变函数的经典用法

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?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";
?>

这样以后累加 类似的计算就方便多了。。。

相关文章

浅谈本地WAMP环境的搭建

在php本地搭建过程中,php环境配置是至关重要的一部分,本文就php在本地的环境配置中作简要说明。以供大家学习! 配置Windows+Apache+Mysql+PHP开发运行环境 安装...

PHP实现时间轴函数代码

本文将介绍如何实现基于时间轴的时间的转换。 首先我们要明白时间的几个函数: time():返回当前的 Unix 时间戳 date():格式化一个本地时间/日期。 应用举例: 复制代码 代...

解析PHP中ob_start()函数的用法

ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Header had all ready send by"的错误,这时可以...

php定期拉取数据对比方法实例

写在前面 今天在网上看帖子提问的时候,看到有人发表了一个提问 php下载远程的批量文件,每天一次,对比昨天和今天的文件,将旧文件替换成新文件 我们通过这个问题来分析讲解一下其中的知...

smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例

本文实例讲述了smarty内置函数{loteral}、{ldelim}和{rdelim}用法。分享给大家供大家参考。具体如下: {ldelim}和{rdelim}分别是smarty标识的...