Перейти к основному содержимому

Доступ к элементам массива в PHP

Способ чтения элемента зависит от вида массива: для индексированного массива нужен номер индекса элемента, а для ассоциативного — имя его ключа.

Пример

Укажите номер индекса в квадратных скобках, чтобы прочитать этот элемент:

Prompt
Напишите PHP-скрипт, который создаёт индексированный массив со значениями "Volvo", "BMW" и "Toyota", а затем выводит третий элемент по его индексу.
Вывод: PHP-скрипт

Доступ к элементу ассоциативного массива

Примечание: Счёт начинается с 0, поэтому индекс 0 — это первый элемент. Именно поэтому $cars[2] выше вернул третий автомобиль.

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

Пример

Прочитайте элемент year, указав его ключ:

Prompt
Напишите PHP-скрипт, который создаёт ассоциативный массив с ключами "brand", "model" и "year" для автомобиля, а затем выводит значение года.
Вывод: PHP-скрипт

Двойные или одинарные кавычки

Имена ключей в скобках можно записывать в любых кавычках, двойных или одинарных. Обе строки кода ниже читают один и тот же элемент:

Пример

Prompt
Напишите PHP-скрипт, который создаёт ассоциативный массив для автомобиля и обращается к ключу "model" сначала в двойных, а затем в одинарных кавычках.
Вывод: PHP-скрипт

Вызов элемента-функции

Поскольку элемент может иметь любой тип данных, он может быть и функцией.

Здесь элемент хранит имя функции. Чтобы вызвать её, укажите номер индекса, а затем добавьте круглые скобки ():

Пример

Вызовите функцию, хранящуюся по индексу 2:

Prompt
Напишите PHP-скрипт, который определяет функцию, сохраняет её имя строкой в индексированном массиве рядом с другими значениями, а затем вызывает эту функцию, указав индекс массива и круглые скобки.
Вывод: PHP-скрипт

Пример

В ассоциативном массиве место индекса занимает имя ключа:

Prompt
Напишите PHP-скрипт, который определяет функцию, сохраняет её имя строкой в ассоциативном массиве, а затем вызывает эту функцию, указав имя ключа и круглые скобки.
Вывод: PHP-скрипт

Перебор ассоциативного массива в цикле

Чтобы перебрать ассоциативный массив и вывести все его значения, используйте цикл foreach:

Пример

Выведите каждый ключ вместе с его значением:

Prompt
Напишите PHP-скрипт, который создаёт ассоциативный массив для автомобиля с маркой, моделью и годом, а затем с помощью цикла foreach выводит каждый ключ и значение, а после них HTML-перенос строки.
Вывод: PHP-скрипт

Перебор индексированного массива в цикле

С индексированными массивами foreach тоже работает. Он проходит по элементам по очереди, поэтому вы можете вывести все значения, не обращаясь к номерам индексов:

Пример

Выведите каждый автомобиль на отдельной строке:

Prompt
Напишите PHP-скрипт, который создаёт индексированный массив со значениями "Volvo", "BMW" и "Toyota", а затем с помощью цикла foreach выводит каждый элемент, а после него HTML-перенос строки.
Вывод: PHP-скрипт