您的位置:首页技术文章
文章详情页

php回调函数处理数组操作示例

【字号: 日期:2022-09-10 18:36:55浏览:41作者:猪猪

本文实例讲述了php回调函数处理数组操作。分享给大家供大家参考,具体如下:

array_reduce— 用回调函数迭代地将数组简化为单一的值

mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )

callback【mixed callback ( mixed $carry , mixed $item ) carry--携带上次迭代里的值; 如果本次迭代是第一次,那么这个值是 initial。item --携带了本次迭代的值。】 initial【如果指定了可选参数 initial,该参数将在处理开始前使用,或者当处理结束,数组为空时的最后一个结果。】

例:

$res = [ ’0’ => [ ’a’ => ’you’, ’b’ => ’me’ ], ’1’ => [ ’c’ => ’li’, ’d’ => ’op’ ]];$res = array_reduce($res,function($result,$value) { return array_merge($result,array_values($value));},array());var_dump($res);

输出:

array(4) { [0]=> string(3) 'you' [1]=> string(2) 'me' [2]=> string(2) 'li' [3]=> string(2) 'op'}

array_filter — 用回调函数过滤数组中的单元

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) 返回过滤后的数组。

array--要循环的数组 callback--使用的回调函数,如果没有提供 callback 函数, 将删除 array 中所有等值为 FALSE 的条目。 flag--决定callback接收的参数形式: ARRAY_FILTER_USE_KEY - callback接受键名作为的唯一参数 ARRAY_FILTER_USE_BOTH - callback同时接受键名和键值

例:

function odd($var){ // returns whether the input integer is odd return($var & 1);} function even($var){ // returns whether the input integer is even return(!($var & 1));} $array1 = array('a'=>1, 'b'=>2, 'c'=>3, 'd'=>4, 'e'=>5);$array2 = array(6, 7, 8, 9, 10, 11, 12); echo 'Odd :n';print_r(array_filter($array1, 'odd'));//1,3,5echo 'Even:n';print_r(array_filter($array2, 'even'));//2,4,6

array_map — 为数组的每个元素应用回调函数

array_map ( callable $callback , array $array1 [, array $... ] )

参数

callback--回调函数,应用到每个数组里的每个元素。 array1--数组,遍历运行 callback 函数。

...

数组列表,每个都遍历运行 callback 函数。

返回值----返回数组,包含 callback 函数处理之后 array1 的所有元素。

例:

function cube($n){ return($n * $n * $n);}$a = array(1, 2, 3, 4, 5);$b = array_map('cube', $a);print_r($b);

输出:

Array( [0] => 1 [1] => 8 [2] => 27 [3] => 64 [4] => 125)

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《PHP数学运算技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

标签: PHP
相关文章: