Получить столбец значений из указанного подмассива многомерного массиваPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Получить столбец значений из указанного подмассива многомерного массива

Сообщение Anonymous »

У меня есть массив, содержащий некоторые данные. например:

Код: Выделить всё

$data = array(
'CATEGORY 1' => array(
array('id'=> 0, 'name' => 'John', 'category' => 'CATEGORY1'),
array('id'=> 1, 'name' => 'Jack', 'category' => 'CATEGORY1'),
array('id'=> 2, 'name' => 'Jame', 'category' => 'CATEGORY1'),
),
'CATEGORY 2' => array(
array('id'=> 0, 'name' => 'Mile', 'category' => 'CATEGORY2'),
array('id'=> 1, 'name' => 'Mike', 'category' => 'CATEGORY2'),
array('id'=> 2, 'name' => 'Matt', 'category' => 'CATEGORY2'),
)
);
Теперь как мне написать такую ​​функцию:

Код: Выделить всё

if ($post ='CATEGORY 1') {
// filter all the name where category => CATEGORY1
}
Ожидаемый результат:

Код: Выделить всё

['John', 'Jack', 'Jame']
Я пробовал так:

Код: Выделить всё

$filters = array(
"id" => array(
"filter" => FILTER_VALIDATE_INT,
"flags" => FILTER_FORCE_ARRAY,
"options" => array(
"min_range" => 1,
"max_range" => 120
)
),
"name" => array(
"filter" => FILTER_CALLBACK,
"options" => "ucwords"
),
"category" => array(
"filter" => FILTER_CALLBACK,
"options" => "ucwords"
)
);

print_r(filter_var_array($data, $filters));
Но это возвращает мне ноль. Как я могу выполнить поиск в массиве с условием, что категория равна категории 1, и получить все имена, принадлежащие этому массиву?

Подробнее здесь: https://stackoverflow.com/questions/330 ... onal-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»