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


Posted in PHP onJune 20, 2013
<?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 相关文章推荐
PHP中在数据库中保存Checkbox数据(1)
Oct 09 PHP
PHP中ADODB类详解
Mar 25 PHP
从手册去理解分析PHP session机制
Jul 17 PHP
php实现自动获取生成文章主题关键词功能的深入分析
Jun 03 PHP
php基础教程
Aug 26 PHP
为你总结一些php系统类函数
Oct 21 PHP
php中类和对象:静态属性、静态方法
Apr 09 PHP
PHP手机号中间四位用星号*代替显示的实例
Jun 02 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
Laravel模型事件的实现原理详解
Mar 14 PHP
PHP实现的多维数组去重操作示例
Jul 21 PHP
Laravel实现ApiToken认证请求
Oct 14 PHP
使用PHP求两个文件的相对路径
Jun 20 #PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 #PHP
解析thinkphp中的导入文件标签
Jun 20 #PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 #PHP
解析用PHP实现var_export的详细介绍
Jun 20 #PHP
PHP 实现explort() 功能的详解
Jun 20 #PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 #PHP
You might like
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
实例讲解PHP表单
2020/06/10 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
python安装numpy&amp;安装matplotlib&amp; scipy的教程
2017/11/02 Python
python基于ID3思想的决策树
2018/01/03 Python
python opencv实现切变换 不裁减图片
2018/07/26 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
Python如何使用Gitlab API实现批量的合并分支
2019/11/27 Python
pandas分组聚合详解
2020/04/10 Python
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
个人自我评价范文
2014/02/05 职场文书
幼儿园区域活动总结
2014/05/08 职场文书
专家推荐信模板
2014/05/09 职场文书
2014财务年终工作总结
2014/12/08 职场文书
学生会任命书范本
2015/09/21 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL