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

yipeiwu_com5年前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";
?>

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

相关文章

php实现的PDO异常处理操作分析

本文实例讲述了php实现的PDO异常处理操作。分享给大家供大家参考,具体如下: 异常处理: PHP:默认为直接报错 MYSQL:默认为静默模式,错就错,不报错 PDO:默认为静默模式,错...

PHP使用反向Ajax技术实现在线客服系统详解

PHP使用反向Ajax技术实现在线客服系统详解

本文实例讲述了PHP使用反向Ajax技术实现在线客服系统。分享给大家供大家参考,具体如下: 反向Ajax技术,又称为服务器推技术,server push等。一般用于“在线客服”、“消息推...

PHP进程通信基础之信号量与共享内存通信

由于进程之间谁先执行并不确定,这取决于内核的进程调度算法,其中比较复杂。由此有可能多进程在相同的时间内同时访问共享内存,从而造成不可预料的错误。信号量这个名字起的令人莫名其妙,但是看其英...

php抓取页面的几种方法详解

在 做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址, 然后得到html源代码或者xml数据,得到数...

PHP安装memcache扩展的步骤讲解

PHP安装memcache扩展的步骤讲解

PHP 5.6.23,查询目前最稳定的版本是memcache-2.2.7。 1.下载并解压缩。 wget http://pecl.php.net/get/memcache-2.2.7....