$config = [ 1 => ['title'=> '推薦','code'=>1], 2 => ['title'=> '奇聞','code'=>2], 3 => ['title'=> '搞笑','code'=>1] ]; array_map(function($key) use ($config){ print_r($key); die(); }, $config);
Array
(
[title] => 推薦
[code] => 1
)函數
使用map的時候,在匿名函數裏面是沒有key值的;
而walk是同時存在key val兩個值的;
因此這應該是他們最大的區別吧。
$config = [
1 => ['title'=> '推薦','code' => 1],
2 => ['title'=> '奇聞1','code' => 2],
3 => ['title'=> '奇聞2','code' => 2],
4 => ['title'=> '搞笑','code' => 1]
];
array_walk($config, function($value, $key) use (&$config){ // & 注意
if($value['code'] == 1){
$config[$key] = $value['title'];
} else {
unset($config[$key]);
}
});
var_dump($config);
array(3) {
[1]=>
string(6) "推薦"
[3]=>
array(2) { // 這裏出現很詭異的結果
["title"]=>
string(7) "奇聞2"
["code"]=>
int(2)
}
[4]=>
string(6) "搞笑"
}spa