Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

Как подсчитать количество элементов в массиве если нужны определенные?

Всем привет!
Итак, есть задача, подсчитать количество элементов в массиве, при этом подсчет элементов должен быть именно тех, у кого высота больше 173.
- Я знаю как подсчитать count($height);
- И как ставить условия if.
= Но вот, как объединить все в одну "композицию", ума не приложу, помоги плиз. =)
  • Вопрос задан
  • 5609 просмотров
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
$array = [['height' => 1], ['height' => 2], ['height' => 3], ['height' => 4], ['height' => 5]];
$filtered = array_filter($array, function ($item) {return $item['height'] >= 3;});
echo count($filtered);
Ответ написан
@vista1x
В лоб (сами элементы ведь не нужны? только количество?):
$cnt = 0;
foreach($scoolChild as $iname => $height)
{
  if ($height > 173)
    $cnt++;
}


Немного элегантнее:
$scoolChild_filtered = array_filter($scoolChild, function($item){
  return $item > 173;
});


Писал на коленке, могут быть ошибки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
А дальше count результата.

array_filter(
    $array,
    function($row) {
        return $row['height'] > 173;
    }
);


// UPDATE

$scoolChild = array(
    'Антон'	=>	172,
    'Семен'	=>	165,
    'Лена'	=>	189,
    'Иван'	=>	171,
    'Петр'	=>	182,
    'Сидор'	=>	176,
    'Аня'	=>	180,
    'Таня'	=>	179,
    'Маня'	=>	171
);

$tall = array_filter(
    $scoolChild,
    function($height) {
        return $height > 173;
    }
);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы