文章介紹了PHP list(),each(),reset()函數應用詳解,有需要了解的朋友可以參考一下。
1.list函數
list函數是把數組中的值賦給一些變量,語法如下:
void list ( mixed $varname, mixed $varname... )
像 array() 一樣,這不是真正的函數,而是語言結構。list() 用一步操作給一組變量進行賦值。
注意: list() 僅能用於數字索引的數組並假定數字索引從 0 開始。
例1. list() 例子
代碼:
代碼如下 復制代碼<?php
$arr=array(1,2,3);
list($a,$b,$c)=$arr;
echo "$a是$a,<br/>$b是$b,<br/>$c是$c.<br/>";
?>
顯示為:
$a是1,
$b是2,
$c是3.
注意list函數的下標必須是數字,還必須是從0開始的。
2.each函數與reset函數
each 函數是返回數組中當前的鍵/值對並將數組指針向前移動一步,注意是一對,下面詳細說明。
該函數語法:
array each ( array &$array )
返回 array 數組中當前指針位置的鍵/值對並向前移動數組指針。鍵值對被返回為四個單元的數組,鍵
值為 0,1,key 和 value。單元 0 和 key 包含有數組單元的鍵名,1 和 value 包含有數據。如果內部
指針越過了數組的末端,則 each() 返回 FALSE。這裡面為什麼each函數有四個下表呢?其實each函
數得到這四個下標只是方便我們操作而已,我們可以用0,1作為索引,也可以用key,value作為索引。
例2:each例子
代碼:
代碼如下 復制代碼<?php
$arr=array("我是第一個值","我是第二個值","我是第三個值");
echo "當我們用0,1為索引時:<br/><br/>";
$a=each($arr);
echo "我在$arr數組中的位置為:".$a['0'];
echo "<br/>";
echo "我在$arr數組中的值為:".$a['1'];
echo "<br/><br/>";
echo "當我們用key,value為索引時:<br/><br/>";
$b=each($arr);
echo "我在$arr數組中的位置為:".$b['key'];
echo "<br/>";
echo " 我在$arr數組中的值為:".$b['value'];
?>
顯示為:
當我們用0,1為索引時:
我在$arr數組中的位置為:0
我在$arr數組中的值為:我是第一個值
當我們用key,value為索引時:
我在$arr數組中的位置為:1
我在$arr數組中的值為:我是第二個值
還可用each函數與list函數結合來遍歷數組,如下例:
例3:
代碼如下 復制代碼 <?php顯示為:
a => apple b => banana c => cranberry
這裡要注意list函數的下標必須是數字,還必須是從0開始的。
裡面的reset函數解釋:
在執行 each() 之後,數組指針將停留在數組中的下一個單元或者當碰到數組結尾時停留在最後一個單元。如果要再用 each 遍歷數組,必須使用 reset()。 如果是第一次遍歷數組可以不用。
詳細說一下reset函數:
reset 是將數組的內部指針指向第一個單元,語法為:
mixed reset ( array &$array )
reset() 將 array 的內部指針倒回到第一個單元並返回第一個數組單元的值,如果數組為空則返回 FALSE。
可以將上面的例2與下面的例子對比一下,就很容易明白了。。。、
代碼:
代碼如下 復制代碼<?php
$arr=array("我是第一個值","我是第二個值","我是第三個值");
echo "當我們用0,1為索引時:<br/><br/>";
$a=each($arr);
echo "我在$arr數組中的位置為:".$a['0'];
echo "<br/>";
echo " 我在$arr數組中的值為:".$a['1'];
echo "<br/><br/>";
echo "當我們用key,value為索引時:<br/><br/>";
reset($arr);
$b=each($arr);
echo "我在$arr數組中的位置為:".$b['key'];
echo "<br/>";
echo " 我在$arr數組中的值為:".$b['value'];
?>
顯示為:
當我們用0,1為索引時:
我在$arr數組中的位置為:0
我在$arr數組中的值為:我是第一個值
當我們用key,value為索引時:
我在$arr數組中的位置為:0
我在$arr數組中的值為:我是第一個值 //注意例2中的這一行顯示,就明白了