PHP中的list(),each(),reset()函數應用

來源:互聯網
上載者:User

標籤:單元   name   varname   set   詳細說明   str   函數   這一   操作   

1.list函數

list函數是把數組中的值賦給一些變數,文法如下:

void list ( mixed $varname, mixed $varname... )

像 array() 一樣,這不是真正的函數,而是語言結構。list() 用一步操作給一組變數進行賦值。

  注意: list() 僅能用於數字索引的數組並假定數字索引從 0 開始。

<?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作為索引。

代碼:

<?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函數結合來遍曆數組,如下例:

<?php$fruit = array(‘a‘ => ‘apple‘, ‘b‘ => ‘banana‘, ‘c‘ => ‘cranberry‘);reset($fruit);while (list($key, $val) = each($fruit)) {      echo "$key => $val\n";}?>

顯示為:

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中的這一行對比。

PHP中的list(),each(),reset()函數應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.