how to use array_walk()

這邊放兩個小例子,然後說明下 array_walk()的用法。以後有機會,再把類似的幾個函數放一起,談談效率。

function myfunction($value,$key)
{
    echo "The key $key has the value $value".PHP_EOL;
}

$a = array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
$a = array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a, function($value, $key) {
    echo "The key $key has the value $value".PHP_EOL;
});

ok,上面兩函數的結果是一樣的,只不過一個用的函數,一個用的閉包。
首先:瞭解有這樣一種寫法;
其次:注意下函數中參數的順序,對,就是這樣,第一個是$value,第二個是$value

然後,我們看下面的例子:

function example(&$value)
{
    $value = $value + 5;
}

$arrLearnIds = [1, 2, 3];
array_walk($arrLearnIds, 'example');

var_dump($arrLearnIds);
$arrLearnIds = [1, 2, 3];
array_walk($arrLearnIds, function (&$value) {
    $value = $value + 5;
});

var_dump($arrLearnIds);

這裏還是要強調一下取地址符&。因爲是取地址符,所以改變的是數組,這一點要清楚。

然後再看一眼這裏的閉包,會感覺代碼很優美。。。!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章