php數組迴圈輸出實現方法

來源:互聯網
上載者:User

在 PHP 中,我們可以使用下列迴圈語句:
while
只要指定的條件成立,則迴圈執行代碼塊
do...while
首先執行一次代碼塊,然後在指定的條件成立時重複這個迴圈
for
迴圈執行代碼塊指定的次數
foreach
根據數組中每個元素來迴圈代碼塊

先我們利用php內建函數對php數組進行遍曆

隨手可得array_keys()和array_values()函數以用來得到數組中所有關鍵字和對應的值的列表。

 代碼如下 複製代碼

'bacon and eggs', 'lunch' => 'roast beef', 'dinner' => 'lasagna');

/* returns the array ('breakfast', 'lunch', 'dinner') with numeric indices */

$result = array_keys($menu); print_r($result); print "   ";

/*
returns the array ('bacon and eggs', 'roast beef', 'lasagna') with numeric indices */

$result = array_values($menu); print_r($result);

?>

利用foreach 遍曆php數組

PHP foreach() 文法結構用於遍曆操作或輸出數組,foreach() 僅能用於遍曆數組或對象,當試圖將其用於其它資料類型或者一個未初始化的變數時會產生錯誤。

 

 代碼如下 複製代碼
list = array('upid'=>'1','title'=>'公司新聞','list'=>array('id'=>'3','title'=>'公司新聞標題測試!','intime'=>'2009-29-5'));
foreach ($list as $v=>$a)
{
  echo $a['upid'] .'-'. $a['title'];
  foreach ($a['list'] as $b){
    echo $b['title'];
  }
 
}

使用數組索引值

 

 代碼如下 複製代碼
<?php
$arr_age = array("wang"=>18, "li"=>20, "zhang"=>25);
foreach ($arr_age as $key=>$age) {
    echo $key,': ',$age,'<br />';
}
?>

運行例子輸出:

wang: 18
li: 20
zhang: 25

當 foreach 開始執行時,數組內部的指標會自動指向第一個單元,這意味著不需要在 foreach 迴圈之前調用 reset()。

for() 迴圈遍曆數組

如果是操作連續索引值的數組,也可以採用 for() 迴圈來遍曆數組:

 代碼如下 複製代碼

<pre>
<?php
$shuzu=array("ni","wo","ta","php","mysql");
$count=count($shuzu);
echo "使用for遍曆數組";
echo "<br/>$nbsp;<br/>";
for($i=0;$i<$count;$i++)
{
$j=$i+1;
echo "第{$j}個元素是: $shuzu[$i]";
echo "<br/>$nbsp;<br/>";
}
?>
</pre>
25


也可以用 list() 和 each() 結合來遍曆php數組,但測試發現效率不如 foreach() 。

list函數

list() 函數用數組中的元素為一組變數賦值。

注意,與 array() 類似,list() 實際上是一種語言結構,不是函數。

文法
list(var1,var2...)參數 描述
var1 必需。第一個需要賦值的變數。
var2 可選。可以有多個變數。
提示和注釋
注釋:該函數只用於數字索引的數組,且假定數字索引從 0 開始


*/

 代碼如下 複製代碼

$colors = array('red','blue','green','yellow');
 
while(list($key,$val) = each($colors)) {
    echo "other list of $val.<br />";
}


更多詳細內容請查看:http://www.111cn.net/phper/php/36112.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.