您的位置:首页 > 其它

array函数

2016-01-21 15:43 447 查看
很多array函数是为了序列数组准备的,并未考虑到关联数组,麻烦。

array_map,不能直接修改key值,但可以合并数组并转为序列数组:

//合并,输出序列数组
array_map(null,array_keys($arr),$arr);
array_map(function($k,$v){},array_keys($arr),$arr);


array_walk,不返回数组,直接修改val,也不建议修改key,注意&$v,

array_walk($arr,function(&$v,$k){});


array_filter,根据val过滤,甚至不能获得key值

array_filter($arr,function($v){});


过滤特定key,可以使用array_diff_key,返回不同key的项

$arr = [ 'k1' => 1, 'k2' => 2, 'k3' => 3, 'k4' => 4];
$filterOutKeys = [ 'k1', 'k4' ];

$filteredArr = array_diff_key( $arr, array_flip( $filterOutKeys ) )


array_column, 根据单个key,返回数组,可添加key2返回一个序列数组

array_column($arr,$k)
array_column($arr,$k,$k2) // k2=>k
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: