$arr1 = array(
'a' => 123,
'b' => 123,
'c' => 123,
'd' => 123,
);
$arr2 = ('a', 'b', 'c', 'd', 'e');
如何从$ arr2中删除$ arr1中不存在的元素?
例如e
在$ arr1中不存在为键,因此应将其删除
答案 0 :(得分:1)
$arr2 = array_intersect($arr2, array_keys($arr1))
它计算两组的交集 - $arr2
值和$arr1
键
答案 1 :(得分:0)
试试这个:
foreach ( $arr2 as $key => $value ) {
if ( !array_key_exists( $value, $arr1 ) ) {
unset( $arr2[$key] );
}
}
答案 2 :(得分:0)
为什么不使用简单方法并使用array_keys
?这样可以避免必须通过一次获取所有键来执行每个键的操作。
$arr2 = array_keys($arr1);