Представьте себе, что вы решили создать массив языков, на которых доступен ваш сайт.
Давайте сначала объявим сам массив.
Этим мы объявили интерпретатору, что переменная $languages является массивом. Пока пустым, так как в скобочках ничего не указано.
Для того, чтобы добавить элементы к этому массиву, можно использовать два способа. Первый из них – это в скобочках после ключевого слова array через запятую перечислить значения всех элементов, которые хотим поместить внутри массива. Например, вот-так:
Если мы объявляем элементы массива именно так, то для каждого из них в качестве ключа присваивается определенное числовое значение. Ключи присваиваются так: от 0 до бесконечности в порядке увеличения. Таким образом, элемент «русский» имеет ключ «0», элемент «украинский» имеет ключ «1», а элемент «английский» имеет ключ «2».
Для того, чтобы обратиться к какому-то конкретному элементу, нам необходимо воспользоваться следующим синтаксисом:
Этот код выведет на экран значение выбранного элемента. Например, код:
выведет на экран слово «русский».
Что если мы хотим добавить еще несколько элементов в уже объявленный массив?
Для этого мы можем воспользоваться следующим методом:
Встретив такую строку в вашем коде, интерпретатор выполнит следующий алгоритм действий:
1. Проверит, не объявлен ли уже массив $languages
2. Если нет, то создаст новый массив с этим именем. Если да, то перейдет к шагу 3
3. Добавит в конец массива элемент с ключом на единицу больше, чем у предыдущего и со значением «испанский»
Таким образом, мы можем добавлять в конец массива сколь угодно много элементов.
Как уже говорилось выше, PHP позволяет работать также и с ассоциативными массивами, то есть с массивами, ключи которых имеют строковое значение.
Для того, чтобы создать ассоциативный массив, достаточно лишь присвоить его элементам строковой ключ. Делается это двумя способами. Для наглядности, представьте, что вам нужно объявить массив, ключами в котором будут являться страны, а элементами – столицы этих стран. Выбираем три страны: Россия, Украина, Англия. Соответственно столицами для них будут: Москва, Киев, Лондон.
Посмотрите, как можно объявить этот массив первым способом:
А вот второй способ, который подходит как для того, чтобы объявлять новый ассоциативный массив, так и для того, чтобы просто добавлять новые элементы уже в существующий:
Вызов элемента из ассоциативного массива осуществляется точно так же, как и из обычного. Для того, чтобы показать столицу Украины, необходимо набрать следующий код:
Помните, в предыдущем уроке мы говорили о том, что существует еще один цикл в PHP, который применяется для работы с массивами? Настала пора о нем поговорить. Это цикл foreach. Этот цикл позволяет обойти все элементы в массиве и произвести над ними любые действия, указанные в блоке кода.
Вот синтаксис этого оператора:
Для того, чтобы вывести список стран и столиц с помощью этого цикла, нужно воспользоваться следующим кодом:
Цикл foreach будет выполнять оператор echo столько раз, сколько элементов присутствует в массиве, каждый раз присваивая новое значение переменным $key и $value, «забирая» его из каждого текущего ключа и элемента. Когда интерпретатор увидит, что в массиве закончились элементы, он просто выйдет из цикла и продолжит работу, обрабатывая следующий код документа.
В конце хотелось бы рассмотреть еще одно понятие: многомерный массив. Многомерный массив – это массив, элементами которого являются другие массивы. При работе с этими массивами действуют все те же принципы, что перечислены выше. Синтаксис немного меняется, но логически прост и понятен. Для наглядности приведу следующий код:
Точно по такому же принципу можно работать и с трехмерными массивами, и с массивами любой степени вложенности. В обычной практике применяются лишь одномерные, двумерные и иногда трехмерные массивы.
Все статьи этой серии:
- Вступление. Необходимый инструментарий. Первый скрипт
- Базовый синтаксист. Оператор echo
- Переменная. Константы
- Типы данных
- Операторы. Операции
- Ветвления
- Функции
- Область видимости переменных и время их жизни
- Циклы
- Массивы
- Предопределенные массивы. Функции для работы с массивами
- HTTP-запросы
- Формы. Работа с HTML-кодом
- Формы. Обработка средствами PHP
- Базы данных. SQL-запросы
- Базы данных. Работа с SQL средствами PHP
- Защита от SQL-инъекций
- Продолжение следует
Сообщение отредактировал GoodX: 04 Сентябрь 2012 - 02:33