Работа со списками значений в языке PHP
Создание и использование списков значений
Как создать список значений и работать с ним в PHP?
Наиболее эффективный и распространённый способ - использовать индексированные массивы с синтаксисом []. Массив хранит упорядоченный набор значений, доступных по числовому индексу (начиная с 0).
$list = ['яблоко', 'банан', 'вишня'];
echo $list[0]; // яблоко
echo $list[2]; // вишня
конструкции языка php (конструкции языка php)
Пояснение:
- Список значений создаётся квадратными скобками.
- Элементы разделяются запятыми.
- Доступ к элементу - по индексу в квадратных скобках.
Типичные ошибки:
- Обращение к несуществующему индексу (например,
$list[3]) вызывает предупреждениеUndefined array key. - Путаница с типом индекса: в PHP индекс может быть целым числом, но при использовании строкового ключа массив становится ассоциативным.
Как создать список значений с помощью функции array()?
Традиционный синтаксис array() эквивалентен [] и поддерживается во всех версиях PHP.
$list = array('красный', 'зелёный', 'синий');
echo $list[1]; // зелёный
Forums forums php list (вывод списка форумов через list())
Используется реже из-за более длинной записи, но может встречаться в старом коде.
Как добавить элемент в конец списка?
Можно использовать [] без индекса или array_push().
$list[] = 'апельсин'; // добавит в конец
array_push($list, 'груша'); // то же самое
print_r($list);
Php список значений (список значений в php)
Выбор зависит от стиля: [] короче и быстрее.
Ошибка: передача не массива в array_push вызовет ошибку.
Как создать список последовательных чисел?
Функция range() генерирует массив с числами в заданном диапазоне.
$numbers = range(1, 5);
// [1, 2, 3, 4, 5]
Php open tag (открывающий тег php)
Можно указать шаг: range(0, 10, 2) даёт чётные числа.
Как распаковать список значений в переменные?
Конструкция list() (или короткий синтаксис [] с PHP 7.1) присваивает элементы массива переменным.
$info = ['Иван', 25, 'Москва'];
list($name, $age, $city) = $info;
echo $name; // Иван
// Короткий синтаксис:
[$name, $age, $city] = $info;
Php syntax (синтаксис php)
Как пропустить элемент при распаковке?
Можно оставить пустую позицию в list().
[$name, , $city] = $info; // $age не присвоена
Частая ошибка:
- Количество переменных не равно числу элементов - лишние переменные получают
null, а лишние элементы игнорируются. - Попытка использовать
list()с ассоциативным массивом вызовет предупреждение, если ключи не числовые.
Расширенные примеры работы со списками
1. Вложенные списки и их распаковка
$matrix = [
[1, 2],
[3, 4],
[5, 6]
];
foreach ($matrix as [$a, $b]) {
echo "($a, $b) ";
}
// (1, 2) (3, 4) (5, 6)
Результат: (1, 2) (3, 4) (5, 6)
2. Деструктуризация в foreach с ключами
$items = ['a' => 1, 'b' => 2, 'c' => 3];
foreach ($items as $key => $value) {
echo "$key => $value, ";
}
// a => 1, b => 2, c => 3,
Результат: a => 1, b => 2, c => 3,
3. Использование list() для обмена значений
$x = 10;
$y = 20;
[$x, $y] = [$y, $x];
echo "x=$x, y=$y";
// x=20, y=10
Результат: x=20, y=10
4. Создание списка значений из строки с explode()
$csv = 'Иван,25,Москва';
$parts = explode(',', $csv);
// ['Иван', '25', 'Москва']
[$name, $age, $city] = $parts;
echo "$name, $age лет, $city";
Результат: Иван, 25 лет, Москва
5. Генерация списка с помощью array_fill
$zeros = array_fill(0, 5, 0);
// [0, 0, 0, 0, 0]
Результат: Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 0 )
6. Объединение списков функцией array_merge
$first = [1, 2];
$second = [3, 4];
$merged = array_merge($first, $second);
// [1, 2, 3, 4]
Результат: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
7. Извлечение части списка с array_slice
$list = [10, 20, 30, 40, 50];
$slice = array_slice($list, 1, 3); // начиная с индекса 1, 3 элемента
// [20, 30, 40]
Результат: Array ( [0] => 20 [1] => 30 [2] => 40 )