I have two arrays:
$pool = array(
'foo' => array('foobar1'),
'bar' => array('foobar2'),
'lou' => array('foobar3'),
'zuu' => array('foobar4')
);
$remove = array('lou', 'zuu');
How do I get this array:
$result = array(
'foo' => array('foobar1'),
'bar' => array('foobar2')
);
I can do a foreach loop but I like a more elegant solution like
$result = array_intersect_key( $pool, array_flip($remove) );
which gives me the other way:
array(
'lou' => array('foobar3'),
'zuu' => array('foobar4')
);
EDIT: my one line solution is:
array_intersect_key( $pool, array_flip( array_keys( array_diff_key( $pool, array_flip( $remove ) ) ) ) )