array_map array_walk

时间:2024-11-29 10:38:01
$config = [
=> ['title'=> '推荐','code'=>],
=> ['title'=> '奇闻','code'=>],
=> ['title'=> '搞笑','code'=>]
]; 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) "搞笑"
}