PHP: Ассоциативные массивы
Теория: Проверка существования ключа
В реальных программах, если нет уверенности, что ключ существует, нужно обязательно производить его проверку используя уже знакомую нам функцию array_key_exists().
Рассмотрим пример функции, которая должна посчитать количество повторяющихся элементов в массиве:
Алгоритм ее работы достаточно прост, но есть один тонкий момент. Во время обхода массива эта функция берет массив-результат, извлекает из него нужный ключ и увеличивает значение на единицу. Но это в случае, когда ключ уже есть. А если его нет? Так как изначально массив-результат пустой, то когда элемент массива появляется первый раз, в массиве-результате нужно создавать соответствующий ключ со значением 1. Посмотрите на реализацию:
Оператор объединения с null
Конкретно в нашем примере с перебором фруктов, внутри результирующего массива не может оказаться null просто так в качестве значения. Там всегда будет какое-то число начиная от единицы. Более того, даже проверка на наличие значения лишняя. Все что нам нужно – извлекать текущее значение с возможностью задать значение по умолчанию. Сделать это можно воспользовавшись оператором объединения с null. Он позволяет задать значение по умолчанию в случае, когда оно равно null.

