2013-10-30 39 views
1

我有以下陣列:過濾器關聯數組的鍵陣列

$keys

array (size=2) 
    0 => string 'foo' (length=3) 
    1 => string 'buz' (length=3) 

$data

array (size=3) 
    'foo' => int 1 
    'bar' => int 2 
    'buz' => int 3 

如何獲得$data陣列由$keys值過濾?所需的輸出:

array (size=3) 
    'foo' => int 1 
    'buz' => int 3 

回答

4

array_intersect_key應該能夠幫助你在這裏

array_intersect_key($data, array_flip($keys)); 

是需要的,因爲array_fliparray_intersect_key操作按鍵,因此這樣可以確保兩個數組都是正確的格式。

DEMO:http://codepad.org/AGpDAZtE

+0

刪除我的回答,這是完全一樣的,因爲你已經回答了這個第一。 –

+0

@MikeBrant:偉大的思想家都相信;-) –

+0

哇。火箭很快。打我。 +1 :) –