list
(PHP 3, PHP 4, PHP 5)
list -- 配列と同様の形式で、複数の変数への代入を行う
説明
void
list
( mixed varname, 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()
も参照ください。