014——数组(十四)array_reduce array_slice array_splice array_sum
<?php /** */ //array_reduce()递归的用回调函数递归的对数组元素进行处理,返回处理后的值 /*$arr=array(1,2,3,4,5); function func($c,$i){ $c+=$i; echo $c; return $c; } array_reduce($arr,'func'); //输出:1 3 6 10 15*/ /*$arr = array(2, 3, 4); function func($c, $i) { $c *= $i; return $c; } echo array_reduce($arr, 'func', 1); //输出:24*/ /*$arr = array(2, 3, 4,5); function func($c, $i) { $c .= '==='.$i; return $c; } echo array_reduce($arr, 'func', 1); //输出:1===2===3===4===5*/ //array_slice() 截取指定范围的数组元素,第2个元素截取开始位置,第3个截取长度,第4个参数是否保留数字索引的序列号 /*$arr=array(1,2,3,4,5); $newArr=array_slice($arr,3); print_r($newArr);//输出:Array ( [0] => 4 [1] => 5 )*/ /*$arr=array(1,2,3,4,5); $newArr=array_slice($arr,3,1); print_r($newArr);//输出:Array ( [0] => 4 )*/ /*$arr=array(1,2,3,4,5); $newArr=array_slice($arr,2,1,true); print_r($newArr);//输出:Array ( [2] => 3 )*/ //array_splice() 删除指定范围的数组元素,如果指定第四个参数,则在删除元素位置放入第四个元素的值。 /*$arr=array(1,2,3,4,5); $newArr=array_splice($arr,2,1); print_r($newArr);//输出:Array ( [0] => 3 ) echo "<br/>==================<br/>"; print_r($arr);//输出:Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 5 )*/ /*$arr=array(1,2,3,4,5); $val=array('bbs','php'); $newArr=array_splice($arr,2,1,$val); print_r($newArr);//输出:Array ( [0] => 3 ) echo "<br/>==================<br/>"; print_r($arr);//输出:Array ( [0] => 1 [1] => 2 [2] => bbs [3] => php [4] => 4 [5] => 5 )*/ //array_sum()对数组中的值进行求和运算 //array_product()对数组中的值进行乘积运算 $arr=array(1,2,3,4,5); echo array_sum($arr);//输出:15 echo array_product($arr);//输出:120