list() - 配列から複数の変数に値を代入する
公開日:
list
は、指定した配列から複数の変数に値を代入する関数です。PHP5と7で一部、仕様が変更されているのでご注意下さい。
構文
パラメータ
$var1
変数。
$...
引数は可変なので、いくつでも指定できます。
返り値
array
値を代入した配列。
サンプルコード
配列から複数の変数に値を代入する
ある配列の値を、例えば$a
と$b
、個別の変数にまとめて代入します。1つ目の引数には1つ目の要素の値、2つ目の引数には2つ目の要素の値が代入されます。
php
<?php
// 配列
$queue = [ "AAA", "BBB", "CCC" ] ;
// 実行
list( $a, $b ) = $queue ;
// 結果
var_dump( $a ) ; // $aの内容
var_dump( $b ) ; // $bの内容
結果 (出力内容) - PHP7.0.21
string(3) "AAA"
string(3) "BBB"
配列への挿入
特殊な使い方ですが、次のように別の配列にまとめて挿入することもできます。この場合、PHP7ではAAA
、BBB
、CCC
と正順に挿入されますが、PHP5ではCCC
、BBB
、AAA
と逆順に挿入されてしまいます。仕様の違いがあるため、このような使い方はしない方が無難です。
php
<?php
// 配列
$queue = [ "AAA", "BBB", "CCC" ] ;
// 実行
list( $a[], $a[], $a[] ) = $queue ;
// 結果
print_r( $a ) ;
結果 (出力内容) - PHP7.0.21
Array
(
[0] => AAA
[1] => BBB
[2] => CCC
)
サンドボックス
ソースコードを編集してlist()
の挙動を確認して下さい。
参考リンク
- PHP - 公式マニュアル。