На этом уроке мы разберем одну из важных тем в PHP, это массивы. Если вы дошли до этого урока, то уже знаете основы синтаксиса, переменных и циклов. Теперь пришло время научиться работать с структурами данных, которые помогут вам хранить и управлять множеством значений одновременно. В этом уроке я расскажу о индексированных и многомерных массивах, приведу много примеров и дам практические задачи.
Массив это структура данных, которая хранит набор значений под одним именем.
Представьте, что у вас есть список задач на день:
Вместо создания трех отдельных переменных ($task1, $task2, $task3), вы можете использовать массив:
$tasks = ['Позавтракать', 'Почитать книгу', 'Заняться программированием'];
Теперь все задачи хранятся в одной переменной и с ними удобно работать!
Индексированные массивы это массивы, где каждый элемент имеет числовой индекс (ключ), начинающийся с 0. Давайте разберемся, как их создавать и использовать.
В PHP есть два способа создать массив:
array()$fruits = array('Яблоко', 'Банан', 'Апельсин');
[] (доступен с PHP 5.4)$fruits = ['Яблоко', 'Банан', 'Апельсин'];
Оба варианта работают одинаково, но короткий синтаксис более современный и удобный.
Чтобы получить элемент массива, укажите его индекс в квадратных скобках:
echo $fruits[0]; // Выведет: Яблоко echo $fruits[2]; // Выведет: Апельсин
Важно: Индексы начинаются с 0!
Массивы можно изменять:
$fruits[1] = 'Груша'; echo $fruits[1]; // Теперь здесь Груша вместо Банана
Новые элементы добавляются через указание следующего индекса:
$fruits[] = 'Манго'; // Автоматически получит индекс 3 echo $fruits[3]; // Выведет: Манго
Часто массивы перебирают в циклах. Например, через foreach:
foreach ($fruits as $fruit) { echo $fruit . '<br>'; }
Результат:
Яблоко Груша Апельсин Манго
Многомерные массивы это массивы, содержащие другие массивы. Они полезны, когда нужно хранить сложные структуры данных.
Допустим, мы хотим хранить данные студентов: имя и их оценки по математике и физике.
Создадим двумерный массив:
$students = [ ['Иван', 5, 4], ['Мария', 4, 5], ['Петр', 3, 4] ];
Каждый элемент $students, это массив с данными студента.
Чтобы получить оценку Марии по математике (первый предмет), обращаемся по индексам:
echo $students[1][1]; // Выведет: 4
Объяснение:
$students[1] это второй студент (Мария).[1] второй элемент в её массиве (оценка по математике).Используем вложенный цикл foreach:
foreach ($students as $student) { echo 'Студент: ' . $student[0] . '<br>'; echo 'Математика: ' . $student[1] . '<br>'; echo 'Физика: ' . $student[2] . '<br><br>'; }
Результат:
Студент: Иван Математика: 5 Физика: 4 Студент: Мария Математика: 4 Физика: 5 Студент: Петр Математика: 3 Физика: 4
Теперь закрепим знания на практике. Решайте задачи по порядку.
$days с названиями дней недели.Решение:
$days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']; echo $days[2]; // Среда $days[3] = 'Среда-2'; foreach ($days as $day) { echo $day . '<br>'; }
$products с товарами и их ценами:
Решение:
$products = [ ['Хлеб', 50], ['Молоко', 80], ['Яйца', 120] ]; $products[] = ['Сыр', 200]; $total = 0; foreach ($products as $product) { $total += $product[1]; } echo "Общая стоимость: $total руб."; // 450 руб.
$books, где каждая книга имеет:
"Название" (Автор, Год)
Решение:
$books = [ ['1984', 'Джордж Оруэлл', 1949], ['Мастер и Маргарита', 'Михаил Булгаков', 1966], ['Гарри Поттер', 'Джоан Роулинг', 1997] ]; foreach ($books as $book) { echo ""{$book[0]}" ({$book[1]}, {$book[2]})<br>"; }
'имя' => 'Мария').if (isset($fruits[5])) { echo $fruits[5]; }
Чтобы продолжить обучение, переходите к следующему уроку: курс по PHP для начинающих.