English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как хранить несколько значений в одной переменной в PHP.
Массивы — это сложные переменные, которые позволяют нам хранить несколько значений или группу значений под одним именем переменной. Предположим, что вы хотите хранить цвета в PHP-скрипте, хранение цветов по отдельности может выглядеть так:
<?php $color1 = "Red"; $color2 = "Green"; $color3 = "Blue"; echo $color1; echo "<br>"; echo $color2; echo "<br>"; echo $color3; ?>Проверьте, посмотрите </>
Но если вы хотите хранить имена штатов или городов стран в переменных, то не три, а может быть и сто. Хранение каждого названия города в отдельной переменной — это сложная, плохая и неумная практика. Здесь на помощь приходит массив.
Вы можете создать три типа массивов. Это:
Индексный массив — Массив с числовыми ключами.
Связанный массив — Массив, у каждого ключа которого есть определенное значение.
Многомерный массив — Сам массив, содержащий один или несколько других массивов.
Индексные массивы или числовые массивы хранят каждый элемент массива, имеющий числовой индекс. В следующем примере показаны два способа создания индексного массива, наиболее простой из которых:
<?php //Определение индексного массива $colors = array("Red", "Green", "Blue"); //Печать структуры массива print_r($colors); ?>Проверьте, посмотрите </>
Примечание:В индексных или числовых массивах автоматически назначаются индексы, начинающиеся с 0, и значения могут быть любого типа данных.
Это эквивалентно следующему примеру, где индексы были вручную назначены:
<?php $colors[0] = "Red"; $colors[1] = "Green"; $colors[2] = "Blue"; //Печать структуры массива print_r($colors); ?>Проверьте, посмотрите </>
В связанном массиве ключ,assigned к значению, может быть любым и пользовательским строковым значением. В следующем примере массив использует ключи вместо индексов:
<?php //Определение связанного массива $ages = array("Peter"=>22, "Clark"=>32, "John"=>28); //Печать структуры массива print_r($ages); ?>Проверьте, посмотрите </>
Пример, аналогичный предыдущему, но показывающий другой способ создания связанного массива:
<?php $ages["Peter"] = "22"; $ages["Clark"] = "32"; $ages["John"] = "28"; //Печать структуры массива print_r($ages); ?>Проверьте, посмотрите </>
Многомерный массив - это массив, в котором каждый элемент также может быть массивом, каждый элемент подмассива может быть массивом, или он может содержать массивы внутри себя и так далее. Пример многомерного массива приведен ниже:
<?php //Определение многомерного массива $contacts = array( array( "name" => "Peter Parker", "email" => "[email protected]", ), array( "name" => "Clark Kent", "email" => "[email protected]", ), array( "name" => "Harry Potter", "email" => "[email protected]", ) ); //Доступ к вложенным значениям echo "Электронная почта Петра Парка id: " . $contacts[0]["email"]; ?>Проверьте, посмотрите </>
Вы можете использовать одну из двух инструкций var_dump() или print_r(), чтобы увидеть структуру и значения любого массива. Однако инструкция print_r() предоставляет меньше информации. Вот пример:
<?php //Определение массива $cities = array("London", "Paris", "New York"); //Отображение массива городов print_r($cities); ?>Проверьте, посмотрите </>
print_r() предоставляет следующий вывод:
Array ( [0] => London [1] => Paris [2] => New York )
Этот вывод показывает ключи и значения каждого элемента массива. Для получения дополнительной информации используйте следующие инструкции:
<?php //Определение массива $cities = array("London", "Paris", "New York"); //Отображение массива городов var_dump($cities); ?>Проверьте, посмотрите </>
Указание var_dump() предоставляет следующий вывод:
array(3) { [0]=> string(6) "London" [1]=> string(5) "Paris" [2]=> string(8) "New York" }
Кроме ключей и значений, этот вывод также показывает тип данных каждого элемента, например, строку из 6 символов. Вв следующей главе,Вы узнаете, как сортировать элементы массива.
ВРаздел цикловВ этом разделе вы узнаете, как итерировать значения массива.