
Хотите освоить SQL для работы с данными?
В SQLka можно изучать SQL последовательно или готовиться к собеседованиям. Запросы выполняются прямо в браузере — устанавливать базу данных не нужно.
sqlka.ru
support@sqlka.ru
PHP. Почему array_count_values возвращает пустой массив, как это исправить?

В SQLka можно изучать SQL последовательно или готовиться к собеседованиям. Запросы выполняются прямо в браузере — устанавливать базу данных не нужно.
support@sqlka.ru
Как добавить на сайт кнопки «Поделиться» в соцсетях. Два варианта: всегда видимые и появляющиеся при наведении. Готовые примеры кода с использованием Яндекс.Поделиться
Готовый скрипт для асинхронного поиска текста в файлах сайта на PHP через Server-Sent Events (SSE). Обход директорий, фильтрация расширений, результаты в реальном времени
Практическое руководство по использованию API Яндекс.Вебрастера на PHP для получения ТОП популярных поисковых запросов по вашим сайтам. Примеры кода, авторизация OAuth, обработка ответов.
Получаем свой user id в Yandex Webmaster API при помощи php
Рассмотрим ситуацию: у нас есть массив с числами, и мы хотим подсчитать, сколько раз встречается каждое значение. Для этого в PHP есть удобная функция
array_count_values(). Однако иногда она возвращает пустой массив, хотя исходный массив не пуст. В чём дело?Возьмём такой код:
Он выводит следующее:
Как видно, первый вызов
print_rпоказывает, что массив содержит семь элементов, ноarray_count_values()возвращает пустой массив.Причина: функция
array_count_values()в PHP поддерживает только элементы типа integer и string. Если в массиве присутствуют значения других типов (например, float, как в нашем случае), они игнорируются, и для них не создаются записи в результирующем массиве.Чтобы решить проблему, нужно привести элементы к строке или целому числу перед подсчётом. Например, можно преобразовать массив с помощью
array_map():Теперь результат будет корректным:
Всегда проверяйте типы данных в массиве, прежде чем использовать
array_count_values().