Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Понимание массивов в PHP

by
Difficulty:BeginnerLength:MediumLanguages:

Russian (Pусский) translation by Alexey Pyltsyn (you can also view the original English article)

В этой статье вы узнаете основы массивов в PHP. Вы узнаете, как создать массив и как использовать ассоциативные и многомерные массивы, а еще увидите много примеров массивов в действии.

Что такое массив?

В PHP массив — это структура данных, которая позволяет хранить несколько элементов в одной переменной. Эти элементы хранятся в виде пар "ключ-значение". Фактически, когда нужно сохранить список элементов можно использовать массив. Почти всегда все элементы массива имеют одинаковый тип данных.

В качестве примера предположим, вы хотите сохранить имена фруктов. Без использования массива вы бы скорее всего создали несколько переменных для хранения имен разных фруктов. С другой стороны если вы используете массив для хранения имен фруктов, он может выглядеть следующим образом:

Как вы можете видеть, мы использовали переменную $array_fruits для хранения имен разных фруктов. Важная деталь, про которую нужно упомянуть – позже вы можете добавить больше элементов в переменную с массивом $array_fruits.

Есть много способов для манипулированием значениями в переменной массива — мы узнаем про них немного позже в этой статье.

Как создать массив

В этом разделе мы выясним, как инициализировать переменную массива и добавить значения в эту переменную.

Когда дело доходит до инициализации массива, есть несколько разных способов сделать это. В большинстве случаев языковая конструкция array() служит для создания нового массива.

В предыдущем фрагменте кода, переменная $array инициализируется пустым массивом.

Начиная с PHP 5.4 можно также использовать короткий синтаксис для инициализации массива.

Теперь давайте посмотрим, как добавлять элементы в массив.

Приведенный выше код выведет следующее:

Обратите внимание, что индекс массива начинается с 0. Каждый раз при добавлении нового элемента в массив без указания индекса, массиву индекс присваивается автоматически.

Конечно можно также создать массив с уже добавленными значениями. Это наиболее быстрый способ объявить массив, если вы уже знаете, какие значения в нем будут.

Как получить доступ к элементам массива

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

Первый очевидный способ доступа к элементам массива – получить их по ключу или индексу.

Приведенный код ваше выведет следующее:

Более чистый способ написать приведенный выше код — это использовать цикл foreach для итерации по элементам массива.

Фрагмент кода выше даст такой же результат, но для его достижения потребовалось гораздо меньше кода.

Аналогично, вы можете также использовать цикл for для итерации по элементам массива.

В данном случае с помощью цикла for мы перебираем каждый индекс в массиве, а затем выводим значение, хранящееся в этом индексе. В этом примере кода мы использовали одну из наиболее важных функций, которую вы в конечном итоге будете использовать при работе с массивами: count. Она используется для подсчета, сколько элементов находится в массиве.

Типы массивов в PHP

В этом разделе мы рассмотрим различные типы массива, которые можно использовать в PHP.

Численно-индексированные массивы

Массив с числовым индексом относится к категории индексированных массивов. На самом деле примеры, которые мы рассматривали до этого момента – это индексированные массивы.

Числовой индекс присваивается автоматически, когда вы его не указывается явным образом.

В приведенном выше примере мы не указали индекс для каждого элемента, поэтому он будет инициализирован с числовым индексом автоматически.

Конечно, можно также создать массив с явным указанием числовых индексов, как показано в следующем примере.

Ассоциативные массивы

Ассоциативный массив похож на числовой массив, но у вас появляется возможность использовать строковые значения для ключей массива.

Давайте посмотрим, как создать ассоциативный массив.

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

Для доступа к значениям ассоциативного массива, можно использовать цикл foreach, либо индекс.

Как вы можете видеть, в данном примере мы получили название через непосредственное обращение по ключу, а затем мы использовали цикл foreach для получения всех пар "ключ-значение" в массиве.

Многомерные массивы

В примерах, которые мы рассматривали, мы использовали скалярные значения в качестве элементов массива. Однако вы даже можете хранить массивы в качестве элементов внутри других массивов — это многомерный массив.

Давайте посмотрим на пример.

Как вы можете видеть, ключ hobbies в массиве $employee содержит массив хобби. Кроме того, в ключе profiles находится ассоциативный массив различных профилей.

Давайте посмотрим, как можно получить значения многомерного массива.

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

Некоторые полезные функции по работе с массивами

В этом разделе мы взглянем на несколько полезных массив функций, которые часто используются для операций с массивом.

Функция count

Функция count используется для подсчета количества элементов в массиве. Это часто полезно, если вы хотите выполнить итерацию массива с циклом for.

Функция is_array

Это одна из наиболее полезных функций для работы с массивами. Она используется для проверки, хранится ли в переменной массив или другой тип данных.

Вам всегда стоит использовать эту функцию, прежде чем выполнять любую операцию массива, если вы не уверены, что это массив.

Функция in_array

Если вы хотите проверить, существует ли элемент в массиве, то функция in_array как раз предназначена для этого.

Первый аргумент функции in_array — элемент, который вы хотите проверить, а вторым аргументом является сам массив.

Функция explode

Функция explode разбивает строку на несколько частей и возвращает ее в виде массива. Например допустим, у вас есть строка, разделенная запятыми и вы хотите разбить ее, используя запятую в качестве разделителя.

Первый аргумент функции explode это строка с разделителем (строка, по которой будет разбита переданная строка), а второй аргумент это сама строка.

Функция implode

Это противоположность функции explode — переданный массив и строка, по которой будет произведено объединение, и функция implode создаст строку путем объединения всех элементов массива между ними с помощью строки объединения, указанной в первом параметре.

Первый аргумент функции implode является строкой объединения, а вторым аргументом является массив для объединения.

Функция array_push

Функция array_push используется для добавления новых элементов в конец массива.

Первый аргумент это массив, а следующие за ним аргументы это элементы, которые будут добавлены в конец массива.

Функция array_pop

Функция array_pop удаляет элемент из конца массива.

Функция array_pop возвращает элемент, который удаляется из массива, так что вы можете сохранить его в переменную. Наряду с array_push эта функция полезна для реализации структур данных, таких как стеки.

Заключение

Это все, что вам нужно для начала работы с массивами в PHP. Вы узнали, как создавать массивы и получать элементы из них. Вы теперь знаете про различные типы массивов в PHP, и посмотрели в действии на некоторые из наиболее полезных встроенных PHP-функций для работы с массивами.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.