compactСоздаёт массив из названий и значений переменных
&reftitle.description;
arraycompactarraystringvar_namearraystringvar_names
Функия создаёт массив из названий и значений переменных.
Функция compact выполняет операцию, противоположную функции extract:
рассматривает каждую строку в аргументах как название переменной,
ищет в текущей таблице символов переменную
с таким названием и добавляет переменную в выходной массив так, что название переменной становится ключом,
а содержимое переменной — значением этого ключа.
До PHP 7.3 функция без предупреждения пропускала строку, если в текущей области видимости
не установили переменную с таким названием.
&reftitle.parameters;
var_namevar_names
Функция compact принимает неограниченное количество аргументов.
Каждый аргумент разрешается передавать как строку, которая содержит название переменной,
или как массив названий переменных. Функция умеет обрабатывать массивы с вложенными массивами
названий переменных; функция compact обрабатывает такие массивы
рекурсивно.
&reftitle.returnvalues;
Функция возвращает массив с переменными.
&reftitle.errors;
Функция compact выдаёт ошибку уровня E_WARNING,
если строка ссылается на переменную, которую не установили.
&reftitle.changelog;
&Version;&Description;8.0.0
Функция теперь генерирует ошибку уровня E_WARNING,
если строка ссылается на переменную, которую не установили.
7.3.0
Функция compact теперь выдаёт ошибку уровня E_NOTICE,
если строка ссылается на переменную, которую не установили. Раньше такие строки функция без предупреждения пропускала.
&reftitle.examples;
Пример создания массива из переменных функцией compact
&example.outputs;
SIGGRAPH
[city] => San Francisco
[state] => CA
)
]]>
&reftitle.notes;
Замечания по работе функции compact
Суперглобальные массивы нельзя передавать в функцию compact,
поскольку переменные переменных
нельзя использовать с суперглобальными массивами
внутри функций.
&reftitle.seealso;
extract