php函数使用教程讲解(php函数式编程简单示例)
类别:编程学习 浏览量:2077
时间:2021-11-03 12:55:49 php函数使用教程讲解
php函数式编程简单示例本文实例讲述了php函数式编程。分享给大家供大家参考,具体如下:
|
// 函数式编程 $users = array ( array ( 'id' => 1, 'name' => 'abc1' , 'age' => 29, '性别' => '男' ), array ( 'id' => 2, 'name' => 'abc2' , 'age' => 21, '性别' => '女' ), array ( 'id' => 3, 'name' => 'abc3' , 'age' => 23, '性别' => '男' ), array ( 'id' => 4, 'name' => 'abc4' , 'age' => 25, '性别' => '女' ), array ( 'id' => 5, 'name' => 'abc5' , 'age' => 20, '性别' => '女' ), array ( 'id' => 6, 'name' => 'abc6' , 'age' => 24, '性别' => '男' ), array ( 'id' => 7, 'name' => 'abc7' , 'age' => 28, '性别' => '女' ), array ( 'id' => 8, 'name' => 'abc8' , 'age' => 27, '性别' => '男' ), ); //获取性别为女的用户 $arrayFilter = array_filter ( $users , function ( $item ){ return $item [ '性别' ] == '女' ; }); // 不影响原数组,返回一个新数组 $arrayMap = array_map ( function ( $item ){ return array ( 'id' => $item [ 'id' ], 'name' => $item [ 'name' ], 'age' => $item [ 'age' ], 'gender' => $item [ '性别' ] == '男' ? 'male' : 'female' , ); }, $users ); // 修改原数组,对年龄+10处理,同时新增索引gender,返回值 1 或 0 array_walk ( $users , function (& $item , $index ){ $item [ 'gender' ] = $item [ '性别' ] == '男' ? 'male' : 'female' ; if ( $index % 2 == 0) { $item [ 'age' ] += 10; } }); //array_reduce(array $input , callable $function [,$initial = NULL ]) 用回调函数迭代地将数组简化为单一的值 // 求最大年龄的用户,返回最大年龄用户信息 $arrayReduce = array_reduce ( $users , function ( $init , $val ){ return $init [ 'age' ] > $val [ 'age' ] ? $init : $val ; }, array ( 'age' => 0)); // 求平均年龄 $avgAge = array_reduce ( $users , function ( $init , $item ){ return $init + $item [ 'age' ]; }, 0) / count ( $users ); /* * array_reduce 的内部实现方式 function array_reduce($data, $callback, $initial) { foreach ($data as $index => $val) { $initial = $callback($initial, $val); } return $initial; } */ //用array_map和array_mutisort来排序 //利用array_map获取要依据排序的数组,(匿名函数 create_function($args, return $val)) //$arrField = array_map(create_function('$item', 'return $item["age"];'), $users); 【不推荐】 $arrField = array_map ( function ( $item ){ return $item [ 'age' ]; }, $users ); //利用array_mutisort来进行年龄从大到小排序 $arrSort = array_multisort ( $arrField , SORT_DESC, $users ); |
|
//闭包实现计数器 function counts() { $a = 1; // 闭包,引用变量$a return function () use (& $a ) { return $a ++; }; } $countFunc = counts(); echo $countFunc (); // 1 echo $countFunc (); // 2 echo $countFunc (); // 3 echo $countFunc (); // 4 |
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/cqingt/p/6673449.html
您可能感兴趣
- nginx如何配置php项目(Nginx服务器究竟是怎么执行PHP项目)
- php数组是怎么实现的(PHP里的$_GET数组介绍)
- php运行机制与原理(PHP进阶学习之类的自动加载机制原理分析)
- phpmysql完全学习手册教程(Windows下搭建PHP开发环境Apache+PHP+MySQL)
- linux安装php目录路径修改(ubuntu环境下的php相关路径与修改方法)
- php怎么修改单独一行数据(PHP实现批量修改文件名的方法示例)
- php 日志监控(php日志函数error_log用法实例分析)
- python核心编程内容(顶级大神Linux,Python,Go,PHP之父谁是夜猫子?用Python揭秘!)
- php中字符串反转的函数(php常用字符串查找函数strstr与strpos实例分析)
- 在php中遍历数组使用(PHP读取远程txt文档到数组并实现遍历)
- php项目开发实例(php项目中类的自动加载实例讲解)
- phpword生成图片(PHP生成图片的方法分享)
- php消息队列redis(redis+php实现微博二发布与关注功能详解)
- php 获取get url(PHP实现获取url地址中顶级域名的方法示例)
- mac电脑安装php环境(Mac下搭建php开发环境教程)
- php面向对象怎么用(PHP面向对象程序设计之对象克隆clone和魔术方法__clone用法分析)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
- 哪里可以看熊猫(成都哪里可以看熊猫)
热门推荐
- linux怎么设置php代码(linux Cron定时执行带参数的PHP代码)
- 将匿名对象作为Model数据传给View
- mysql数据类型及用法(MySQL数据库重命名的快速且安全方法3种)
- dedecms设置轮播图(织梦dedecms网站地图改变生成目录的方法)
- css技巧100个(css小技巧汇总)
- js函数声明和函数表达式的区别
- vue全局配置文件env(vue项目多环境配置.env的实现)
- 免备案服务器云服务器(香港免备案云服务器的优势有哪些?)
- php的数据类型约束的好处(PHP中的Iterator迭代对象属性详解)
- js里咋样设置css里面的属性(css不常见属性之pointer-events的使用方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9