2013-07-14 65 views
1

我在使用PHP,我有一個多維數組,其中包含有關用戶組的數據,數組當前如下列出。使用未知鍵搜索陣列中的數組

$groups = array(
       10 => array("name" => "Admin", (etc)), 
       5 => array("name" => "Standard", (etc)) 
     ); 

用戶將有一組值,要麼是「管理員」或「標準」,而是這些值不數組中的鍵值,我不知道我怎麼就能夠搜索子數組中的字符串值。

我可以更改爲基於整數的級別系統,但我更願意這樣做。

所以我的問題是,我怎麼能夠搜索一個多維數組的主題數組的值而不知道它的關鍵值?

回答

2

試試這個:

$admins = array_filter($groups, function($data) { 
    return $data['name'] == 'Admin'; 
}); 
+0

效果很好,謝謝:) – Ryan

0

瀏覽吧:)

$admins = array(); 
$standards = array(); 
foreach($groups AS $group) 
{ 
    // Search for administrators in the 1-dimension array. 
    $admins = array_merge($admins, array_keys($group, "Admin")); 

    // Search for standard users in the 1-dimension array. 
    $standards = array_merge($standards, array_keys($group, "Standard")); 
} 

一旦你用一維數組的工作,你可以使用的功能,如array_searcharray_keys。您可以在PHP手冊中找到更多關於上述功能的信息。