萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php數組循環輸出實現方法

php數組循環輸出實現方法

以前我們經常會想怎麼來實現php數組循環輸出來,本文章來介紹了利用php中常用的四種循環語句來實現單數組或多維數組循環輸出方法。

在 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

copyright © 萬盛學電腦網 all rights reserved