php - remove only those keys that are not present in another array -


i have 2 arrays

$arr1 = array(   'a' => array(some values here),   'b' => array(some more values here),   'c' => array(some more , more values here) ); 

and

$arr2 = array('a','c'); 

you can see $arr2 have 2 values (a,c)

i want keep keys in $arr1 values present in $arr1 (maintaining key-value association), , want remove other values not in $arr2

so, output be

$arr1 = array(   'a' => array(some values here),   'c' => array(some more , more values here) ); 

how can achieve this?

to rephrase bit, want find keys present in both arrays, , keep values first array. happens array_intersect_key does:

$arr1 = array_intersect_key($arr1, $arr2) 

note: haven't used function often; might need change second array like:

$arr2 = array('a' => 1, 'c' => 1); 

to ensure they're treated keys rather values.

incorporating deceze's tip, do

$arr1 = array_intersect_key($arr1, array_flip($arr2)) 

which wouldn't require changing second array.


Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -