Как правильно работать с массивами в PHP?

Как правильно работать с массивами в PHP?

Скорее чаще, чем нет, при отладке чужого кода на PHP основное внимание и время отнимается разбором работы циклов. Именно временные сложности становятся большой преградой для попыток понять работу отдельно взятого метода.

Чтобы увеличить скорость отладки, очень важно начать работать с массивами правильно. В этом посте приведено несколько распространенных примеров неправильной работы с массивами, а также показано, как правильно переписать соответствующий код.

Слияние массивов

На первый взгляд, данная операция выглядит чрезвычайно просто. Вот два примера кода. Первый упрощенный пример того, что можно увидеть в различных кусках кода (неправильная работа с массивами). Второй пример показывает, как правильно выполнить ту же операцию с использованием специальных функций.

Не правильно:

Правильно:

Во втором случае код стал не только более читаемым, но и более коротким.

Работа со значениями массивов

Честно говоря, даже не могу вспомнить, как часто видел код, подобный тому, что приведен в примере ниже. Всегда можно найти конструкцию foreach там, где ее не должно быть. Конечно, иногда foreach просто необходим.

Не правильно:

Правильно:

Как можно увидеть, решение, использующее array_walk, изменяет непосредственно существующий массив. Это означает, что вам не требуется создавать второй массив, что позволяет сэкономить ресурсы. Существует много различных решений для этой специфической проблемы, но приведенное решение является одним из самых легко читаемых.

Следующий пример показывает, что при работе с массивами следует понимать разницу в работе функции array_merge() и оператора ‘+’, когда он применяется к массивам.

Приведем пример работы этих функций:

При применении оператора ‘+’ к массивам следует помнить, что данная операция произведет слияние, только тех элементов массивов, которых кока еще нет в первом. Это означает, что если arrayOne имеет ключи 0, 2, а arrayTwo - 0, 1, 2, то возвращенный массив будет содержать элементы массива arrayOne с ключами 0 и 2, и элемент массива arrayTwo с ключом 1.

Функция array_merge производит слияние массива arrayTwo в массив arrayOne, другими словами все элементы arrayTwo заменят элементы arrayOne с такими же ключами.

Вывод последнего примера:

Работа с массивами - это то, что каждый программист должен знать: если вы будете знать и понимать доступные функции, то ваша жизнь станет проще, а код написанный вами - более элегантным.

Комментарии (2)
  • alexpac Четверг 22 Май 2014
    объявление массивов через литералы введено относильно недавно. с начиная с версии php 5.4 Поэтому в ближайшие года 2 литералы в массивах использовать не рекомендуется для совместимости.
  • admin Воскресенье 25 Май 2014

    Да, но смыл статьи не в объявлении массивов, а в функциях для работы с ними

Добавить комментарий
Вам необходимо включить показ изображений в браузере для того чтобы увидеть код

Дайте нам знать, что вы - живой человек. Для нас это важно!
Кликните, если плохо видно

Прежде чем высказать свое мнение, прочитайте пожалуйста: правила

Рейтинг@Mail.ru