Hi,
momentan löse ich das mit paar schleifen - geht das auch besser? array_intersect überprfüft ja die werte - zweifaches austauschen von keys/werten ist nicht die lösung, oder?
wenn ich dich richtig verstehe, möglicherweise mit einer Kombination aus array_intersect_key() und array_flip():
$foo = array('a' => 1, 'b' => 2);
$bar = array('a', 'c');
$baz = array_intersect_key($foo, array_flip($bar)); // ergibt array('a' => 1)
Gruß,
Andreas.