對於這兩個函數的特定使用方式,我們先來看看吧,首先是array_walk,代碼如下:
<?php $arr = array(2,4,5,6,7); function xin(&$val,$key){ $val = $val*$val; } array_walk($arr, "xin"); var_dump($arr);
array (size=5) 0 => int 4 1 => int 16 2 => int 25 3 => int 36 4 => int 49
:
<?php function xin($a,$b){ return $a*$b; } $arr = array(2,3,4,5); $brr = array(5,6,7,8); $crr = array_map("xin",$arr,$brr); var_dump($crr);
array (size=4) 0 => int 10 1 => int 18 2 => int 28 3 => int 40
我們可以發現,對於諸如遍歷數組
我們可以發現,對於諸如遍歷數字 (1)array_map可以同時遍歷n個數組,而array_walk通常是遍歷一個。
(2)array_map必須有一個回傳值,因為它的回傳值需要構成新陣列。但是array_walk通常沒有必要,因為它的通常用途是改變原來的資料。
(3)array_map通常會有一個資料的作用,但是array_walk則不建議刪除資料並增加,只建議進行數值的修改。
當然,它們在某些情況下可以實現相同的功能,二者並不是涇渭分明,而是有一定的交集。
以上就介紹了辛星淺析array_walk和array_map的連結和區別,包括了array,walk方面的內容,希望對PHP教程有興趣的朋友有所幫助。
🎜 🎜