1.array_reduce 用回撥函式迭代地將陣列簡化為單一的值
function sum($res,$val){
$res+=$val;
return $res;
}
function product($res,$val){
$res*=$val;
return $res;
}
$arr1=array(1,2,3,4,5);
$arr2=array();
$arr3=array_reduce($arr1,'sum');
$arr4=array_reduce($arr1,'product',10);
$arr5=array_reduce($arr2,'sum','no data to reduce');
var_dump($arr3);
var_dump($arr4);
var_dump($arr5);
![函式學習四](https://i.iter01.com/images/269ff69a245c4df24e03bed617c7052e0f49293fc1aeb2caf9ba60064aa8ffc2.png)
2. array_replace_recursive 使用傳遞的陣列遞迴替換第一個陣列的元素
$arr1=array(
'a'=>array('33'),
'b'=>array(
'aa'=>44,
'bb'=>55,
));
$arr2=array(
'a'=>array('66'),
'b'=>array(
'aa'=>88,
));
$arr3=array_replace_recursive($arr1,$arr2);
var_dump($arr3);
![函式學習四](https://i.iter01.com/images/a14811b5c4969a122bbfb47bbc2facbef3a21808a8dc20b12a9a5f1b3cbd947a.png)
3.array_replace 適應傳遞的陣列替換第一個陣列的元素
$arr1=array('a','b','c','d');
$arr2=array(
'0'=>44,
'4'=>88);
$arr3=array(0=>array(13));
$arr4=array_replace($arr1,$arr2,$arr3);
var_dump($arr4);
![函式學習四](https://i.iter01.com/images/da3ee59cea3d2f39ba9f0f872ae63e06c5e6ac5f8fa63084b243f775fc3a305d.png)
4. array_reverse 返回單元順序相反的陣列
$arr1=array('cc',4.0,array('he','123'));
$arr2=array_reverse($arr1);
$arr3=array_reverse($arr1,true);
print_r($arr1);
print_r($arr2);
print_r($arr3);
![函式學習四](https://i.iter01.com/images/30fbeaf10ad6847361db843c2b5613ed9d8c8eb282dc2c873d5560aec8fed27e.png)
5. array_search 在陣列中搜尋給定的值,如果成功則返回首個相應的鍵名
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array);
$key = array_search('red', $array);
本作品採用《CC 協議》,轉載必須註明作者和本文連結
The sun is always behind the storm~