(PHP 4, PHP 5, PHP 7)
list — 把數組中的值賦給一組變量
array list ( mixed
$var1
[, mixed $...
] )
像 array() 一樣,這不是真正的函數,而是語言結構。 list() 可以在單次操作內就為一組變量賦值。
Note:
list() 僅能用於數字索引的數組,並假定數字索引從 0 開始。
Warning
PHP 5 里,list() 從最右邊的參數開始賦值; PHP 7 里,list() 從最左邊的參數開始賦值。
如果你用單純的變量,不用擔心這一點。 但是如果你用了具有索引的數組,通常你期望得到的結果和在 list() 中寫的一樣是從左到右的,但在 PHP 5 里實際上不是, 它是以相反順序賦值的。
- 等號左邊是list()函數,右邊是索引數組(下標連續的,按0開始);
- 數組中有幾個元素,則list()有幾個參數(參數必須是變量不能是值,而且變量是自定義的變量),跟數組的值是一一對應關系;
- 在list()函數的參數中,空項也代表元素
<?php list(,,$c) = ['aa','bb','cc']; echo $c;//cc echo '<br>'; list($a1,$b1,$c1) = ['aa1','bb1','cc1']; echo $a1.$b1.$c1;//aa1bb1cc1 echo '<br>'; list($a2,,$c2) = ['aa2','bb2','cc2']; echo $a2.$c2;//aa2cc2 echo '<br>'; list($a3,$b3,$c3) = [1=>'aa3',2=>'bb3',0=>'cc3']; echo $a3.$b3.$c3;//cc3aa3bb3 echo '<br>'; list($a4,$b4,$c4) = [1=>'aa4',2=>'bb4',3=>'cc4']; echo $a4.$b4.$c4;//aa4bb4 Notice: Undefined offset: 0 in D:\phpStudy\WWW\demo\function.php on line 14 echo '<br>'; list($a5,$b5,$c5) = [1=>'aa5',2=>'bb5','a'=>'cc5']; echo $a5.$b5.$c5;//aa5bb5 Notice: Undefined offset: 0 in D:\phpStudy\WWW\demo\function.php on line 18 echo '<br>';