SYNCER

SYNCER

compact() - 変数から配列を作成する

公開日:

compactは、指定した名前の変数から配列を作成する関数です。シンボルテーブルから指定した名前の変数を探し、その変数の名前がキー、値が値の連想配列になります。引数は可変で複数指定できます。配列を指定した場合、その値が処理にかけられます。

構文

array compact ( mixed $varname1 [, mixed $... ] )

パラメータ

$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()の挙動を確認して下さい。

Array
(
    [queue1] => A
    [queue2] => B
)

参考リンク

  • PHP - 公式マニュアル。