Kodokon kodokon.com

Массивы: списки и пары ключ-значение

Храни несколько значений в индексных или ассоциативных массивах и работай с ними через основные функции PHP.

8 мин · 3 вопросов

Открыть этот урок в Kodokon

Массив - это переменная, способная хранить сразу несколько значений, как полка с несколькими ячейками. В индексном массиве каждая ячейка пронумерована индексом, который начинается с 0: первый элемент - это $colors[0]. Массив создаётся квадратными скобками [...], ячейка читается через $colors[индекс], а запись $colors[] = ... добавляет новое значение в конец.

PHP
<?php

$colors = ["red", "green", "blue"];

echo $colors[0];
echo $colors[2];

$colors[] = "yellow";
$colors[1] = "purple";

echo count($colors);
Читаем, добавляем, меняем: итог - 4 элемента.

Иногда номер ничего не говорит: чтобы описать человека, лучше подойдут ярлыки. Ассоциативный массив связывает ключ (имя, чаще всего строку) со значением через стрелку =>, которая читается как «соответствует». К значению обращаются по его ключу: $user["name"]. Это главная структура PHP для представления данных.

PHP
<?php

$user = [
    "name" => "Awa",
    "age" => 28,
    "city" => "Lyon",
];

echo $user["name"];
echo $user["city"];

$user["age"] = 29;
Каждый ключ ведёт к своему значению, как мини-словарь.

PHP предлагает сотни готовых функций для массивов. Запомни самые нужные: count($array) возвращает количество элементов; in_array($value, $array) отвечает true, если значение присутствует; sort($array) сортирует массив на месте, от меньшего к большему; implode($glue, $array) соединяет все элементы в одну строку, разделяя их текстом на твой выбор; а array_keys($array) возвращает список ключей.

PHP
<?php

$numbers = [8, 3, 5];
sort($numbers);

echo implode(" - ", $numbers);
echo "<br>";

$guests = ["Awa", "Bruno", "Chloe"];

if (in_array("Bruno", $guests)) {
    echo "Bruno is on the list.<br>";
}

echo count($guests);
Выводит 3 - 5 - 8, затем проверяет и считает гостей.

Проверка знаний

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

  1. Какой индекс у первого элемента индексного массива?
    • 0
    • 1
    • -1
  2. С $user = ["city" => "Lyon"], как прочитать значение «Lyon»?
    • $user->city
    • $user["city"]
    • $user.city
  3. Что возвращает count($colors)?
    • Последний элемент массива
    • Количество элементов массива
    • Сумму значений массива