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

  

posted @ 2017-11-23 06:53  生如逆旅,一苇以航  阅读(215)  评论(0编辑  收藏  举报