#php #массивы
Есть массив: Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 2 ) Пример: в сессиях я храню ID товара, количество добавленных товаров с ID = 1 три, как видно в массиве выше. Как получить данное количество в переменную, зная ID товара?
Ответы
Ответ 1
Например $array = array('1','1','1','2'); $result = array_count_values($array); получаем Array ( [1] => 3 [2] => 1 ) Тоесть чтобы узнать количество вхождений ключа 1 echo $result[1];Ответ 2
Чтобы посчитать только по одному ID, можно так: $data = [1,1,1,3]; $ID = 1; $n = array_reduce( $data, function($p, $c){ return $p + ($c == $ID ? 1 : 0);}, 0); Встроенная в PHP функция array_reduce() позволяет получить из массива всего одно значение, пройдясь по всем элементам – как раз наш случай.Ответ 3
Может так? Или задача более специфична? $arr = array(1, 1, 1, 2); $num = 0; $id = 1; foreach ($arr as &$value) { If ($value == $id) { $num++; } } ... unset($value);
Комментариев нет:
Отправить комментарий