compact

(PHP 4, PHP 5)

compact --  変数名とその値から配列を作成する

説明

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

compact()がとるパラメータの数は可変です。 各パラメータは、変数名を値とする文字列か、変数名の配列のどちらかとする ことができます。配列は、変数名を値とする別の配列を持つことができます。 compact()はこれを再帰的に処理します。

各引数について、compact()は現在のシンボルテーブル においてその名前を有する変数を探し、変数名がキー、変数の値がそのキー に関する値となるように追加します。 端的に言うと、extract()の逆の動作をします。 追加された全ての変数を値とする出力配列を返します。

設定されていない全ての文字列は、単にスキップされます。

分かった!: 可変変数 は関数内で PHP の スーパーグローバル配列 と併用してはいけませんので、 スーパーグローバル配列を compact() に渡しては いけません。

例 1. 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()も参照ください。