Вывести количество определенных элементов массива PHP
<?php foreach ($orders as $order) { ?>
<?php echo $order['order_type']; ?>
<?php } ?>
Выводит: 2 2 3 2 2 2 2 3 3 2
подскажите как вывести и подсчитать кол-во определенных элементов в массиве
Нужно отобразить так:
Элементы с номером 2: 7
Элементы с номером 3: 3
Ответы (3 шт):
Автор решения: Василий
→ Ссылка
Я бы проверкой сделал. иф !=3 не выводим.
if ($order['order_type'] != 3)
{
не выводим
}
echo выводим
Автор решения: mx928
→ Ссылка
$counts = array();
foreach ($orders as $order) {
if (!isset($counts[$order['order_type']])) {
$counts[$order['order_type']] = 0;
}
$counts[$order['order_type']]++;
}
echo $counts[2]; // output 7
echo $counts[3]; // output 3
Автор решения: Deonis
→ Ссылка
Как вариант, можно таким способом (array_column + array_count_values):
foreach(array_count_values(array_column($orders, 'order_type')) as $k => $v) {
echo 'Элементы с номером ', $k, ': ', $v, PHP_EOL;
}