给定:
$arr_in=array('a'=>1,'b'=>2,'c'=>3,'d'=>4);
$keep=array('a','c');
获得最简洁的方法是什么
$arr_out=array('a'=>1,'c'=>3); //Keep only original elements who's index is in $keep
您可以使用array_flip()
和array_intersect_key()
:作为一个线性函数来实现这一点
$arr_out = array_intersect_key($arr_in, array_flip($keep));
print_r($arr_out);
收益率:
Array
(
[a] => 1
[c] => 3
)
尝试使用:
foreach($arr_in as $key => $val){
if(in_array($keep, $key))
$temp[$key] = $val;
}
您可能需要研究数组函数,如数组pop。