Функция PHP compact

array compact ( mixed varname [, mixed ...] )

compact() принимает переменное число параметров. Любой из параметров может быть либо строкой, содержащей название переменной либо массивом названий переменных. Массив может содержать вложенные массивы названий переменных; функция compact() обрабатывает их рекурсивно.

Для каждого из параметров, compact() смотрит, существует ли переменная с таким именем в текущей символьной таблице и добавляет в результирующий массив элемент, ключ которого содержит название переменной, а значение, соответствующее этому ключу, значение переменной. Коротко говоря, действия этой функции противоположны действиям функции extract(). Она возвращает результирующий массив со всеми переменными, добавленными туда.

Если переменной, с именем, соответствующем переданной строке не существует, такая строка будет просто проигнорирована.

Пример использования compact()

<?php
   $city  = "San Francisco";
   $state = "CA";
   $event = "SIGGRAPH";
  
   $location_vars = array("city", "state");
  
   $result = compact("event", "nothing_here", $location_vars);
?>

После этого значение $result будет:

  Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

См. также extract().