list
(PHP 3, PHP 4, PHP 5)
list --
配列と同様の形式で、複数の変数への代入を行います
説明
void
list ( mixed ..., mixed ... )
array() と同様に、
この関数は実際には関数ではなく言語の構成要素です。
list() は、
単一の操作で一連の変数に値を割り当てるために使われます。
注意:
list() は数値添字の配列のみを生成します。
添字は 0 から始まります。
例 1. list() の例
<?php
$info = array('coffee', 'brown', 'caffeine');
// Listing all the variables list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special.\n";
// Listing some of them list($drink, , $power) = $info; echo "$drink has $power.\n";
// Or let's skip to only the third one list( , , $power) = $info; echo "I need $power!\n";
?>
|
|
例 2. list() の使用法の例
<table> <tr> <th>社員氏名</th> <th>給与</th> </tr>
<?php
$result = mysql_query("SELECT id, name, salary FROM employees", $conn); while (list($id, $name, $salary) = mysql_fetch_row($result)) { echo " <tr>\n" . " <td><a href=\"info.php?id=$id\">$name</a></td>\n" . " <td>$salary</td>\n" . " </tr>\n"; }
?>
</table>
|
|
警告 |
list()は、最も右のパラメータから値を代入します。
プレーンな変数を使用している場合には、このことを気にする必要はありません。
しかし、添字配列を使用している場合には、配列の添字の順番が
list()
に書いたものと同じく左から右となることを通常は期待しますが、
そうはなりません。この配列の添字は逆の順番となります。
|
例 3. 配列の添字を使用した list() の例
<?php
$info = array('coffee', 'brown', 'caffeine');
list($a[0], $a[1], $a[2]) = $info;
var_dump($a);
?>
|
次のような出力になります(list() の文法に書かれた
順番と、要素の順番の違いに注意):
array(3) {
[2]=>
string(8) "caffeine"
[1]=>
string(5) "brown"
[0]=>
string(6) "coffee"
} |
|
each()、array()、
extract() も参照してください。