compact Создаёт массив из названий и значений переменных &reftitle.description; arraycompact arraystringvar_name arraystringvar_names Функия создаёт массив из названий и значений переменных. Функция compact выполняет операцию, противоположную функции extract: рассматривает каждую строку в аргументах как название переменной, ищет в текущей таблице символов переменную с таким названием и добавляет переменную в выходной массив так, что название переменной становится ключом, а содержимое переменной — значением этого ключа. До PHP 7.3 функция без предупреждения пропускала строку, если в текущей области видимости не установили переменную с таким названием. &reftitle.parameters; var_name var_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; Пример создания массива из переменных функцией <function>compact</function> &example.outputs; SIGGRAPH [city] => San Francisco [state] => CA ) ]]> &reftitle.notes; Замечания по работе функции compact Суперглобальные массивы нельзя передавать в функцию compact, поскольку переменные переменных нельзя использовать с суперглобальными массивами внутри функций. &reftitle.seealso; extract