English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной Урок

PHP Уровеньный Урок

PHP & MySQL

PHP Референс Мануал

Массивы PHP

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

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

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

<?php
$color1 = "Red";
$color2 = "Green";
$color3 = "Blue";
echo $color1;
echo "<br>";
echo $color2;
echo "<br>";
echo $color3;
?>
Проверьте, посмотрите </>

Но если вы хотите хранить имена штатов или городов стран в переменных, то не три, а может быть и сто. Хранение каждого названия города в отдельной переменной — это сложная, плохая и неумная практика. Здесь на помощь приходит массив.

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

Вы можете создать три типа массивов. Это:

  • Индексный массив — Массив с числовыми ключами.

  • Связанный массив — Массив, у каждого ключа которого есть определенное значение.

  • Многомерный массив — Сам массив, содержащий один или несколько других массивов.

Индексный массив

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

<?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 символов. Вв следующей главе,Вы узнаете, как сортировать элементы массива.

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