2013-07-14 11 views
1

Я работаю в PHP, и у меня есть многомерный массив, который содержит данные о группах пользователей, массив указан в следующем порядке.Поиск массива внутри массива с неизвестным ключом

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

Пользователь будет иметь значение группы, которая будет либо «Admin» или «Стандарт», но так как эти значения не ключевое значение в массиве, я не знаю, как я буду в состоянии найдите строковое значение в дочернем массиве.

Я могу изменить систему на основе целочисленного уровня, но я бы предпочел сделать это таким образом.

Итак, мой вопрос: как я могу искать многомерный массив для значения массива предметов, не зная его ключевого значения?

ответ

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_search или array_keys когда вы работаете с 1-двумерными массивами. Более подробную информацию об этих функциях вы найдете в Руководстве по PHP.

Смежные вопросы