SYNCER

SYNCER

list() - 配列から複数の変数に値を代入する

公開日:

listは、指定した配列から複数の変数に値を代入する関数です。PHP5と7で一部、仕様が変更されているのでご注意下さい。

構文

array list ( mixed $var1 [, mixed $... ] )

パラメータ

$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ではAAABBBCCCと正順に挿入されますが、PHP5ではCCCBBBAAAと逆順に挿入されてしまいます。仕様の違いがあるため、このような使い方はしない方が無難です。

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

string(3) "AAA"
string(3) "BBB"

参考リンク

  • PHP - 公式マニュアル。