Posted on 20 февраля, 2025
( … ) оператор распаковки массива в PHP
Три точки (...
) в PHP — это оператор распаковки массива. Когда мы видим ...array_values($urlData)
, это означает, что PHP «распаковывает» элементы массива $urlData
и передает их как отдельные аргументы в функцию.
Давайте разберем пример:
array_values($urlData)
— это функция, которая возвращает все значения массива $urlData
в виде нового индексированного массива. Например:
$urlData = [ 'url' => 'https://example.com/page1', 'modify_date' => '2025-02-19', 'frequency' => 'daily', 'alternates' => true ];
array_values($urlData);
Результат работы array_values($urlData)
будет таким:
[ 'https://example.com/page1', '2025-02-19', 'daily', true ]
...array_values($urlData)
— это распаковка массива. Это значит, что каждый элемент массива будет передан как отдельный параметр функции. То есть, это будет эквивалентно вызову функции с такими параметрами:
$this->getUrlSection('https://example.com/page1', '2025-02-19', true, 'daily');
Здесь каждый элемент массива $urlData
передаётся как отдельный аргумент в функцию getUrlSection
.
Зачем это нужно?
Представьте, что у нас есть массив данных, и нам нужно передать эти данные в функцию, которая принимает несколько параметров. Вместо того, чтобы вручную извлекать каждый элемент массива и передавать его в функцию, мы можем использовать ...
, чтобы автоматически передать все элементы массива как отдельные аргументы.
В чём разница?
Без оператора ...
вам пришлось бы передавать элементы массива по одному:
$this->getUrlSection($urlData[0], $urlData[1], $urlData[2], $urlData[3]);
С оператором ...
это делается гораздо проще и короче:
$this->getUrlSection(...$urlData);
Итог:
Оператор ...
помогает «распаковать» массив и передать его элементы в функцию как отдельные аргументы, что делает код более компактным и удобным.
Свежие комментарии