php遍曆數組 list foreach each方法總結

來源:互聯網
上載者:User

 

在php中可以用來遍曆數組的函數有很多,如有:for語句、list、each、foreach這四個函數,這也是在php中遍曆數組的幾個主要的函數,下面我來給大家介紹。 foreach遍曆數組

我們在運用數組時,常常要遍曆數組並獲得各個鍵或者元素值,php提供了一些專門遍曆數組的函數。這裡先介紹foreach遍曆數組函數的用法。

結構形式:

foreach ( array_expression as $value ) statement
/* array_expression是要遍曆的數組
   as作用是將數組的值賦給$value
   statement是後續語句
 */ 
執行個體1:

 代碼如下 複製代碼

<?php 
 $color=array('white' => '白色' ,
       'black' => '黑色' ,
       'red' => '紅色' ,
       'green' => '綠色',
       'yellow' => '黃色');
 foreach( $color as $c) echo $c ."<br>";    
?>


通過foreach不僅可以獲得元素的值也可以獲得鍵名,結構形式:

foreach ( array_expression as $key => $value ) statement 
將以上執行個體中第7行的代碼:

 代碼如下 複製代碼


foreach( $color as $c) echo $c ."<br>";

改為:

foreach( $color as $key => $c) echo $key.$c ."<br>";


each遍曆數組


遍曆數組是php數組操作一個重要的環節,除了前面提到的foreach函數,這裡再介紹一個遍曆數組的函數-each()。

用each()函數可以輸出當前指標位置的鍵名和對應的元素值。可以使用”0″或”key”來訪問鍵名(標識符),用”1″或”value”訪問標識符對應的值。

執行個體:

 代碼如下 複製代碼

<?php 
 $languages=array(1=>"php",
    5=>"html",
    10=>"css");
 $a=each($languages); /* 第一次遍曆數組 */  
 echo $a[0] ."t";
 echo $a[1] ."<br>"; 
 $a=each($languages); /* 第二次遍曆數組 */
 echo $a[key] ."t";
 echo $a[value];    
?>

list遍曆數組

函數list可以在遍曆數組時一次賦給變數,通常和each()函數配合使用。用list()函數使訪問each()返回的鍵和值變得更加簡單了。

執行個體:

 代碼如下 複製代碼
<?php 
 $date=array(1=>"Monday",
      2=>"Tuesday",
      3=>"Wednesday");
 list($key,$value)=each($date); /* 遍曆函數 */
 echo "$key $value" ."<br>"; /* 輸出第一個數組 */
 $next=next($date);  /* 指標後移 */
 echo "$next";  
?>


ps:list()函數剛好與array()函數相反,array()將一系列資料構造成數組,而list()則將數組拆分成資料。

for遍曆數組

除了php預定義的一些遍曆數組函數,我們還可以利用for語句的迴圈特性將數組遍曆輸出。下面給出例子:

 代碼如下 複製代碼

<?php 
 $a[]="張學友"; /* 定義數組 */
 $a[]="劉德華";
 $a[]="黎明";
 $a[]="郭富城";
 $s=count($a); /* 統計數組個數 */
 for($i=0;$i<$s;$i++){ /* 遍曆數組 */
  echo $a[$i] ."<br>"; /* 顯示數組 */
 }
?>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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