PHP 多个key取数组值 or 数组固定位置key排序

不是经常使用 记录下预防忘记

多个key取数组值

$keys = ['a','b','c','d'];
$array = ['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5];
echo '<pre>';
var_dump(array_intersect_key($array,array_flip($keys)));
//array(4) {
//    ["a"]=>
//  int(1)
//  ["b"]=>
//  int(2)
//  ["c"]=>
//  int(3)
//  ["d"]=>
//  int(4)
//}

数组固定位置key排序

$keys = ['a','b','c','d'];
//乱的顺序
$array = ['b'=>1,'d'=>2,'c'=>3,'a'=>4,'e'=>5];
echo '<pre>';
$new_arr = array_intersect_key($array,array_flip($keys));
var_dump($new_arr);
//打印发现KEY错乱
//array(4) {
//  ["b"]=>
//  int(1)
//  ["d"]=>
//  int(2)
//  ["c"]=>
//  int(3)
//  ["a"]=>
//  int(4)
//}
var_dump(array_merge(array_flip($keys),$new_arr));
//数组合并实现key位排序
//array(4) {
//  ["a"]=>
//  int(4)
//  ["b"]=>
//  int(1)
//  ["c"]=>
//  int(3)
//  ["d"]=>
//  int(2)
//}
posted @ 2021-04-20 17:38  大智如蠢  阅读(333)  评论(0编辑  收藏  举报