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; 7.3.0 compact は、与えられた文字列が示す変数が未定義の場合、 E_NOTICE レベルのエラーを発行するようになりました。 以前のバージョンでは、設定されていない全ての文字列は、単にスキップされます。 &reftitle.examples; <function>compact</function> の例 ]]> &example.outputs; SIGGRAPH [city] => San Francisco [state] => CA ) ]]> &reftitle.notes; 分かった! 可変変数 は関数内で PHP の スーパーグローバル配列 と併用してはいけませんので、 スーパーグローバル配列を compact に渡してはいけません。 &reftitle.seealso; extract