Задать вопрос
@Elena_11

Почему array_count_values возвращает пустой массив?

На сайте Wordpress есть такая php функция для подсчёта количества записей с определённым ключом, т.е. выводилась надпись и рядом счетчик. При обновлении версии PHP на хостинге - перестало работать, стало выдавать "Undefined array key" вместо счетчика. Если через var_dump выводить $object_types - есть массив, $value - значение ключа. Но на выходе всё равно array(0). Как заставить работать с PHP 8.4.5?
$count = array_count_values(array_column($object_types, $value));
//var_dump($object_types);
//var_dump($value);
var_dump($count);

echo $count[$value] ;


67ffea39c994a913888260.png
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Какой-то странный код, смотрите сами:
$value = 'townhouse';
- это следует из сообщения об ошибке (кстати, нафига вы сообщение об ошибке вклеили картинкой? Чтобы красным подчеркнуть? Это не несёт никакой пользы).
Значит, $object_types - это массив, элементы которого - тоже массивы с ключом 'townhouse', либо объекты со свойством 'townhouse' (не значением свойства).
array_column($object_types, $value) вернёт список значений по этому ключу.
А array_count_values() сгруппирует одинаковые значения и посчитает.
Очень странно выглядит, если в элементах $object_types ключ 'townhouse' содержит значение 'townhouse'.

Покажите, что выводит код:
$count = array_count_values(array_column($object_types, $value));
var_dump($object_types, $value, $count);

Если только там не простыня в километр..
Ответ написан
Ваш ответ на вопрос

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

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