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

<?php
$color1 = "Red";
$color2 = "Green";
$color3 = "Blue";
?>

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

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

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

  • Indexed array — массив с числовым ключом;
  • Associative array — массив, в котором каждый ключ имеет собственное определенное значение;
  • Multidimensional array — массив, содержащий один или несколько массивов внутри себя.

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

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

<?php
// Определяем индексированный массив
$colors = array("Red", "Green", "Blue");
?>

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

Это эквивалентно следующему примеру, в котором индексы назначаются вручную:

<?php
$colors[0] = "Red"; 
$colors[1] = "Green"; 
$colors[2] = "Blue"; 
?>

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

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

<?php
// Определяем ассоциативный массив
$ages = array("Peter"=>22, "Clark"=>32, "John"=>28);
?>

Следующий пример эквивалентен предыдущему, но показывает другой способ создания ассоциативных массивов:

<?php
$ages["Peter"] = "22";
$ages["Clark"] = "32";
$ages["John"] = "28";
?>

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

Многомерный массив — это массив, в котором каждый элемент также может быть массивом и каждый элемент во вложенном массиве может быть массивом или дополнительно содержать массив внутри себя и так далее. Пример многомерного массива будет выглядеть примерно так:

<?php
// Определяем многомерный массив
$contacts = array(
    array(
        "name" => "Peter Parker",
        "email" => "peterparker@mail.com",
    ),
    array(
        "name" => "Clark Kent",
        "email" => "clarkkent@mail.com",
    ),
    array(
        "name" => "Harry Potter",
        "email" => "harrypotter@mail.com",
    )
);
// Доступ к вложенному значению
echo "Peter Parker's Email-id is: " . $contacts[0]["email"];
?>

Печать структуры и значений массива

Вы можете увидеть структуру и значения любого массива, используя один из двух операторов — var_dump() или print_r(). Однако оператор print_r() дает несколько меньше информации. Рассмотрим следующий пример:

<?php
// Определяем массив
$cities = array("London", "Paris", "New York");
 
// Определяем массив городов
print_r($cities);

// Выводит на экран: Array ( [0] => London [1] => Paris [2] => New York )
?>

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

<?php
// Определяем массив
$cities = array("London", "Paris", "New York");
 
// Определяем массив городов
var_dump($cities);

// Выводит на экран: array(3) { [0]=> string(6) "London" [1]=> string(5) "Paris" [2]=> string(8) "New York" }
?>

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

Как перебирать значения массива см. Руководство по циклам в PHP.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.