我有以下两个数组:
EDIT
On suggestion from @Wrikken I’ve
cleaned the first array and now have
this:
第一阵列:
Array ( [0] => 3 [1] => 4 [2] => 9 [3] => 11 )
第二阵列:
Array ( [3] => stdClass Object ( [tid] => 3 ) [12] => stdClass Object ( tid] => 12 ) [9] => stdClass Object ( [tid] => 9 ) )
EDIT
The second array is being filtered on
the first array. The second array has
3,12,9. The first array doesn’t
contain 12,so 12 should be removed
from the second array.
所以我最终应该:
Array ( [3] => stdClass Object ( [tid] => 3 ) [9] => stdClass Object ( [tid] => 9 ) )
你可以这样做:
$keys = array_map(function($val) { return $val['value']; },$first); $result = array_intersect_key(array_flip($keys),$second);
array_map
调用将从$first中提取值,以便$keys是这些值的数组.然后array_intersect_key
用于获取$keys的交集(翻转以使用键作为值,反之亦然)和第二个数组$second.