compact
(PHP 4, PHP 5, PHP 7)
compact — Создает массив, содержащий названия переменных и их значения
Описание
$var_name
, array|string ...$var_names
) : arrayСоздает массив, содержащий переменные и их значения.
Для каждого из переданного параметров, функция compact() ищет переменную с указанным именем в текущей таблице символов и добавляет их в выводимый массив так, что имя переменной становится ключом, а содержимое переменной становится значением этого ключа. Короче говоря, она обратна функции extract().
Замечание:
До PHP 7.3 любые неустановленные строки будут просто пропущены.
Список параметров
-
var_name
-
var_names
-
compact() принимает неограниченное количество параметров. Любой из параметров может быть либо строкой, содержащей название переменной, либо массивом названий переменных. Массив может содержать вложенные массивы названий переменных; функция compact() обрабатывает их рекурсивно.
Возвращаемые значения
Возвращает массив со всеми переменными, добавленными в него.
Ошибки
compact() выдаёт ошибку уровня E_NOTICE, если данная строка относится к удаленной переменной.
Список изменений
Версия | Описание |
---|---|
7.3.0 | compact() теперь выдает ошибку уровня E_NOTICE, если заданная строка связана с удаленной переменной. Ранее такие строки пропускались без всякого уведомления. |
Примеры
Пример #1 Пример использования compact()
<?php
$city = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";
$location_vars = array("city", "state");
$result = compact("event", $location_vars);
print_r($result);
?>
Результат выполнения данного примера:
Array ( [event] => SIGGRAPH [city] => San Francisco [state] => CA )
Примечания
Замечание: Замечания по работе функции compact
Так как переменные переменных не могут быть использованы с суперглобальными массивами внутри функций, суперглобальные массивы не могут быть переданы в compact().