我有兩個數組:從關聯中刪除某些鍵。陣列
$pool = array(
'foo' => array('foobar1'),
'bar' => array('foobar2'),
'lou' => array('foobar3'),
'zuu' => array('foobar4')
);
$remove = array('lou', 'zuu');
我如何得到這個數組:
$result = array(
'foo' => array('foobar1'),
'bar' => array('foobar2')
);
我可以做一個foreach循環,但我喜歡像
$result = array_intersect_key($pool, array_flip($remove));
一個更優雅的解決方案這給了我另一種方式:
array(
'lou' => array('foobar3'),
'zuu' => array('foobar4')
);
EDIT:我的一條線的解決方案是:
array_intersect_key($pool, array_flip(array_keys(array_diff_key($pool, array_flip($remove)))))
這就需要一個循環,如前所述我更喜歡不同的解決方案 – Xaver
更新了我的答案:) –
喜歡它!在一行中它的'array_intersect_key($ pool,array_flip(array_keys(array_diff_key($ pool,array_flip($ remove)))))' – Xaver