• Как передать в функцию аргумент по ключу массива без warning?

    @WitER
    Стоит начать с того, что в вашей функции $item всегда будет задана - ведь вы её объявили вместе с функцией - читай аргументы функций.
    Если вам нужно проверить существует-ли ключ массива(в том числе и вложенный) и не пуст ли он, используйте empty($arrName['first']['second']), но учтите, что эта функция вернет true если значение элемента будет равно нулю.
    Если вам нужно просто узнать, что элемент массива существует и (как ниже заметили, не null), тогда просто: isset($arrName['first']['second']).

    Спасибо, Сергей delphinpro за замечание!
    Для проверки существования ключа массива действительно можно использовать array_key_exists('first', $arrName), заметьте эта функция не работает с многоуровневыми массивами. Для проверки существования вложенных ключей, которые могут принимать значения null || 0 || '' лучше использовать другой подход, возможно комбинировать этот метод с фильтрацией.
    Если нужно отфильтровать массив от пустых значений, то можно использовать array_filter.
    Ответ написан
    2 комментария
  • Как передать в функцию аргумент по ключу массива без warning?

    Adamos
    @Adamos
    Можно разложить в аргументах функции массив и ключи к нему, но ради такой фигни столько мороки...
    Если уж все равно переписывать каждое обращение - лучше понять, почему такое получается и избавиться от него в принципе.
    Ответ написан
    Комментировать