Короткий ответ: array в PHP — это массив, структура для хранения нескольких значений в одной переменной. В массиве можно держать список строк, чисел, товаров, пользователей, настроек или результатов из базы данных. Значения можно получать по индексу, добавлять, удалять и обходить через foreach
В PHP массивы очень гибкие: один и тот же тип array используется и для обычных списков, и для ассоциативных массивов с ключами. Поэтому новичку важно сначала понять простой индексный массив, а уже потом переходить к вложенным и ассоциативным структурам
Простой массив
<?php
$names = ['Анна', 'Иван', 'Мария'];
echo $names[0];
Индексы начинаются с нуля. Поэтому $names[0] — первый элемент, $names[1] — второй
Добавление элемента
<?php
$names = ['Анна', 'Иван'];
$names[] = 'Мария';
print_r($names);
Пустые квадратные скобки добавляют новое значение в конец массива
Количество элементов
<?php
$numbers = [10, 20, 30];
echo count($numbers);
count() возвращает количество элементов. Это удобно для проверки пустого списка и вывода статистики
Обход массива через foreach
<?php
$products = ['Книга', 'Курс', 'Консультация'];
foreach ($products as $product) {
echo $product . '<br>';
}
foreach проходит по каждому элементу массива. Это самый частый способ вывести список на странице
Индекс и значение
<?php
$products = ['Книга', 'Курс', 'Консультация'];
foreach ($products as $index => $product) {
echo $index . ': ' . $product . '<br>';
}
Так вы получаете и индекс, и значение. Это полезно для нумерации, отладки и задач, где важна позиция элемента
Проверка значения
<?php
$roles = ['admin', 'editor', 'user'];
if (in_array('admin', $roles, true)) {
echo 'Администратор найден';
}
Третий аргумент true включает строгую проверку. Это помогает избежать странных совпадений между строками и числами
Удаление элемента
<?php
$names = ['Анна', 'Иван', 'Мария'];
unset($names[1]);
print_r($names);
После unset() индекс может “пропасть”. Если нужно заново пронумеровать массив, используйте array_values()
$names = array_values($names);
Массив и HTML
Если значения выводятся в HTML, используйте htmlspecialchars()
<?php
$comments = ['Привет', '<script>alert(1)</script>'];
foreach ($comments as $comment) {
echo htmlspecialchars($comment, ENT_QUOTES, 'UTF-8') . '<br>';
}
Массив не делает данные безопасными сам по себе. Безопасность появляется на этапе проверки и вывода
Мини-практика
Создайте массив задач
<?php
$tasks = ['Установить PHP', 'Запустить файл', 'Проверить ошибку'];
Выведите каждую задачу с номером. Затем добавьте четвертую задачу через $tasks[], посчитайте количество элементов через count() и проверьте, есть ли задача Запустить файл
Частые ошибки
Путают первый элемент и индекс 1. В PHP первый индекс обычного массива — 0
Обращаются к несуществующему индексу. PHP выдаст предупреждение, если такого элемента нет
Используют for, когда проще foreach. Для большинства списков foreach читабельнее
Забывают строгий режим в in_array(). Без него возможны неожиданные совпадения
Удаляют элемент через unset(), а потом ждут, что индексы автоматически перестроятся
Выводят данные из массива без экранирования в HTML
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- Массивы в PHP: обычные, ассоциативные и foreach
- foreach в PHP: как перебрать массив и не запутаться в ключах
- in_array в PHP: как проверить, есть ли значение в массиве
- Composer в PHP: установка пакетов без ручного копирования



