Мне нужна помощь в фильтрации массивов. У меня есть форма, которая представляет следующие данные. Я только хочу выбрать данные с 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;
});
Спасибо
Каждый элемент вашего массива $input
это массив. Таким образом, вам нужно получить доступ к значению, связанному с ключом qty
:
$arrays = array_filter($inputs, function($elem){
return (int)$elem['qty'] > 0;
});
$array = array();
foreach($main_array as $chunk){
if($chunk['qty'] > 0 ){
$array[] = $chunk;
}
}
var_dump($array);