array_map array_walk

$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) "搞笑"
}




猜你喜欢

转载自www.cnblogs.com/pansidong/p/11773587.html