PHPのcompact()
関数は、複数の変数から、ひとつの連想配列を作る組み込み関数。変数名を、配列要素のキー、変数名の変数の値を、配列要素の値とする。
定義
配列型 compact( 多様な型 $varname, 多様な型 $... );
パラメータ
- 多様な型 $varname
連想配列の配列要素にしたい変数の変数名を指定。
連想配列の配列要素にしたい変数の変数名を格納した配列を、指定することもできる。
指定した変数名の変数が存在しない場合は、単にスキップする。
- 多様な型 $…
連想配列の配列要素にしたい変数の変数名は、カンマ
,
で区切り、複数指定できる。連想配列の配列要素にしたい変数の変数名を格納した配列を、指定することもできる。
指定した変数名の変数が存在しない場合は、単にスキップする。
戻り値
連想配列。
構文
連想配列を作成
連想配列 = compact( 変数名1, 変数名2, 変数名3 );
「変数名1~3」の変数名を、配列要素のキー、「変数名1~3」の変数名の変数の値を、配列要素の値とし、新たに「連想配列」を作る。
変数名を格納した配列から連想配列を作成
変数名を格納した配列 = ( 変数名1, 変数名2, 変数名3 );
連想配列 = compact( 変数名を格納した配列 );
連想配列 = compact( 変数名を格納した配列 );
「変数名1~3」の変数名を、配列要素のキー、「変数名1~3」の変数名の変数の値を、配列要素の値とし、新たに「連想配列」を作る。
サンプル
連想配列を作成
<pre>
<?php
$white = "白";
$black = "黒";
$red = "赤";
$blue = "青";
$green = "緑";
$array = compact( "white", "black", "red", "blue", "green" );
print_r( $array );
?>
</pre>
<?php
$white = "白";
$black = "黒";
$red = "赤";
$blue = "青";
$green = "緑";
$array = compact( "white", "black", "red", "blue", "green" );
print_r( $array );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[white] => 白
[black] => 黒
[red] => 赤
[blue] => 青
[green] => 緑
)
(
[white] => 白
[black] => 黒
[red] => 赤
[blue] => 青
[green] => 緑
)
変数名を格納した配列から連想配列を作成
<pre>
<?php
$white = "白";
$black = "黒";
$red = "赤";
$blue = "青";
$green = "緑";
$arrayA = array( "white", "black" );
$arrayB = array( "red", "blue", "green" );
$arrayC = compact( $arrayA, $arrayB );
print_r( $arrayC );
?>
</pre>
<?php
$white = "白";
$black = "黒";
$red = "赤";
$blue = "青";
$green = "緑";
$arrayA = array( "white", "black" );
$arrayB = array( "red", "blue", "green" );
$arrayC = compact( $arrayA, $arrayB );
print_r( $arrayC );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[white] => 白
[black] => 黒
[red] => 赤
[blue] => 青
[green] => 緑
)
(
[white] => 白
[black] => 黒
[red] => 赤
[blue] => 青
[green] => 緑
)