list()

PHPのlist()関数は、配列の値を、複数の変数に代入する。連想配列や多次元配列の展開にも便利だ。

list()は、実際には関数ではなく、PHP言語の構成要素のひとつ。

定義

構文

配列の値を変数に格納

list( 変数1, 変数2, 変数3 ) = 配列;

配列の値を、「変数1~3」に代入。

サンプル

配列の値を変数に格納

<?php
$var = array( "レッド", "ブルー" , "イエロー" );
list( $varA, $varB, $varC ) = $var;
echo "$varA<br />";
echo "$varB<br />";
echo "$varC<br />";
?>

↓↓↓出力結果↓↓↓

レッド
ブルー
イエロー

配列の値を添字付き変数に格納

<?php
$var = array( "レッド", "ブルー" , "イエロー" );
list( $var[A], $var[B], $var[C] ) = $var;
echo "$var[A]<br />";
echo "$var[B]<br />";
echo "$var[C]<br />";
?>

↓↓↓出力結果↓↓↓

レッド
ブルー
イエロー

連想配列のキーと値を変数に格納

<?php
$var = array(
    "red" => "レッド",
    "blue" => "ブルー",
    "yellow" => "イエロー"
);
while( list( $key, $val ) = each( $var ) ){
    echo "$key => $val<br />";
}
?>

↓↓↓出力結果↓↓↓

red => レッド
blue => ブルー
yellow => イエロー

多次元配列の値を変数に格納

<?php
$var = array(
    array( "red", "blue", "yellow" ),
    array( "レッド", "ブルー", "イエロー" ),
    array( "赤", "青", "黄" )
);
list( $varA, list( $varB_1, $varB_2, $varB_3 ), list( $varC[a], $varC[b], $varC[c] ) ) = $var;
echo "$varA[0]<br />";
echo "$varA[1]<br />";
echo "$varA[2]<br />";
echo "$varB_1<br />";
echo "$varB_2<br />";
echo "$varB_3<br />";
echo "$varC[a]<br />";
echo "$varC[b]<br />";
echo "$varC[c]<br />";
?>

↓↓↓出力結果↓↓↓

red
blue
yellow
レッド
ブルー
イエロー


スポンサード リンク

カテゴリー: PHP, キー, , 取得, 組み込み関数, 配列 タグ: パーマリンク