這邊放兩個小例子机久,然后說明下 array_walk()
的用法。以后有機(jī)會胧弛,再把類似的幾個函數(shù)放一起侠畔,談?wù)勑省?/p>
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,上面兩函數(shù)的結(jié)果是一樣的软棺,只不過一個用的函數(shù),一個用的閉包茵宪。
首先:了解有這樣一種寫法;
其次:注意下函數(shù)中參數(shù)的順序稀火,對赌朋,就是這樣,第一個是$value
,第二個是$key
然后箕慧,我們看下面的例子:
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);
這里還是要強(qiáng)調(diào)一下取地址符&茴恰。因為是取地址符,所以改變的是數(shù)組往枣,這一點(diǎn)要清楚。
然后再看一眼這里的閉包圾另,會感覺代碼很優(yōu)美雕沉。集乔。坡椒。S攘铩:钩!