Фильтрующие массивы

Мне нужна помощь в фильтрации массивов. У меня есть форма, которая представляет следующие данные. Я только хочу выбрать данные с QTY 1 или более.

array (size=4)
17 =>
array (size=4)
'id' => string '17' (length=2)
'TicketName' => string 'General admission' (length=17)
'price' => string '50.00' (length=5)
'qty' => string '0' (length=1)
18 =>
array (size=4)
'id' => string '18' (length=2)
'TicketName' => string 'General admission' (length=17)
'price' => string '50.00' (length=5)
'qty' => string '2' (length=1)
19 =>
array (size=4)
'id' => string '19' (length=2)
'TicketName' => string 'General admission' (length=17)
'price' => string '50.00' (length=5)
'qty' => string '0' (length=1)
20 =>
array (size=4)
'id' => string '20' (length=2)
'TicketName' => string 'General admission' (length=17)
'price' => string '50.00' (length=5)
'qty' => string '0' (length=1)

Я знаю, что могу использовать что-то вроде. Я не уверен, как фильтровать по ключу кол-во.

$arrays = array_filter($inputs, function($val){
return $val> 0;

});

Спасибо

4

Решение

Каждый элемент вашего массива $inputэто массив. Таким образом, вам нужно получить доступ к значению, связанному с ключом qty:

$arrays = array_filter($inputs, function($elem){
return (int)$elem['qty'] > 0;
});
4

Другие решения

$array = array();
foreach($main_array as $chunk){
if($chunk['qty'] > 0 ){
$array[] = $chunk;
}
}
var_dump($array);
1