compact - 変数から配列を作成する
compactは、指定した名前の変数から配列を作成する関数です。シンボルテーブルから指定した名前の変数を探し、その変数の名前がキー、値が値の連想配列になります。引数は可変で複数指定できます。配列を指定した場合、その値が処理にかけられます。
構文
パラメータ
$varname1
変数の名前。
$...
第2引数以降にいくつでも値を指定できます。
返り値
array
変数の名前をキー、値を値にした連想配列。
サンプルコード
<?php
$varname1 = "A" ;
$varname2 = "B" ;
$response = compact( "varname1", "varname2" ) ;
デモ
変数から配列を作る
$queue1、$queue2という2つの変数から、配列を作成します。
<?php
/*** このコードは編集できます。 ***/
$varname1 = "A" ;
$varname2 = "B" ;
$response = compact( "varname1", "varname2" ) ;
print_r( $response ) ;
変数が存在しない場合
指定した名前の変数が存在しない場合、特にエラーは起こりません。返り値に含まれないだけです。
<?php
/*** このコードは編集できます。 ***/
$varname1 = "A" ;
$varname2 = "B" ;
$response = compact( "varname3" ) ;
print_r( $response ) ;
配列を指定した場合
引数に配列した場合、その配列に含まれる値が処理にかけられます。例えば下記では[ "queue2", "queue3" ]という配列を指定しています。これは配列としてではなく、配列に含まれる2つの値が引数として評価されます。配列は一次元でなく多次元でも大丈夫です。
<?php
/*** このコードは編集できます。 ***/
$varname1 = "A" ;
$varname2 = "B" ;
$varname3 = "C" ;
$response = compact( "varname1", [ "varname2", "varname3" ] ) ;
print_r( $response ) ;
参考
- PHP: compact
- PHPの公式リファレンス。
関連記事
- extract
- 配列から変数を作成する。
- count
- 配列の要素数を取得する。
- array_replace
- 配列を置換して合成する。
- parse_str
- クエリ文字列を変数に代入する。
- array_intersect
- 複数の配列の中の共通の値を確認する。