compact() - 変数から配列を作成する
公開日:
compact
は、指定した名前の変数から配列を作成する関数です。シンボルテーブルから指定した名前の変数を探し、その変数の名前がキー、値が値の連想配列になります。引数は可変で複数指定できます。配列を指定した場合、その値が処理にかけられます。
構文
パラメータ
$varname1
変数の名前。
$...
第2引数以降にいくつでも値を指定できます。
返り値
array
変数の名前をキー、値を値にした連想配列。
サンプルコード
変数から配列を作る
$queue1
、$queue2
という2つの変数から、配列を作成します。
php
<?php
// 変数
$queue1 = "A" ;
$queue2 = "B" ;
// 実行
$result = compact( "queue1", "queue2" ) ;
// 返り値
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
[queue1] => A
[queue2] => B
)
変数が存在しない場合
指定した名前の変数が存在しない場合、特にエラーは起こりません。返り値に含まれないだけです。
php
<?php
// 変数
$queue1 = "A" ;
$queue2 = "B" ;
// 実行
$result = compact( "queue3" ) ;
// 返り値
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
)
配列を指定した場合
引数に配列した場合、その配列に含まれる値が処理にかけられます。例えば下記では[ "queue2", "queue3" ]
という配列を指定しています。これは配列としてではなく、配列に含まれる2つの値が引数として評価されます。配列は一次元でなく多次元でも大丈夫です。
php
<?php
// 変数
$queue1 = "A" ;
$queue2 = "B" ;
$queue3 = "C" ;
// 実行
$result = compact( "queue1", [ "queue2", "queue3" ] ) ;
// 返り値
print_r( $result ) ;
結果 (出力内容) - PHP7.0.21
Array
(
[queue1] => A
[queue2] => B
[queue3] => C
)
サンドボックス
ソースコードを編集してcompact()
の挙動を確認して下さい。
参考リンク
- PHP - 公式マニュアル。