6.3.3 使用foreach語句遍歷數組的應用

6.3.3 使用foreach語句遍歷數組的應用

使用foreach語句遍歷數組

?foreach循環結構:
foreach僅用于數組,有兩種語法。
foreach (array_expression as $value)
…..statement
foreach (array_expression as $key => $value)…..statement
第一種格式遍歷給定的 array_expression 數組。每次循環中,當前單元的值被賦給 $value 并且數組內部的指針向前移一步

?第二種格式做同樣的事,只除了當前單元的鍵值也會在每次循環中被賦給變量 $key。
注:當 foreach 開始執行時,數組內部的指針會自動指向第一個單元。此外注意foreach 所操作的是指定數組的一個拷貝,而不是該數組本身。
<?php
$a=array(10,20,30,40,50,60);
foreach($a as $k=>$v) {
echo "$k => $v
";
}
?>

<?php
     $wage = array(   //將三個部門的工資表格存儲在三維數組$wage中
            "市場部" => array( array(1, "高某", "市場部經理", 5000.00),  
                                  array(2, "洛某", "職員", 3000.00), array(3, "峰某", "職員", 2400.00)),
            "產品部" => array( array(1, "李某", "產品部經理", 6000.00),
                              array(2, "周某", "職員", 4000.00), array(3, "吳某", "職員", 3200.00)),
            "財務部" => array( array(1, "鄭某", "財務部經理", 4500.00),
                                          array(2, "王某", "職員", 2000.00), array(3, "馮某", "職員", 1500.00))
           );
    //使用三層foreach語句嵌套遍歷三維數組,輸出三個表格
    foreach( $wage as $sector => $table ) {  //最外層foreach語句遍歷出三個表格,遍歷出鍵和值
         echo '<table border="1" width="600" align="center">';
         echo '<caption><h2> '.$sector.'10月份工資表 </h2></caption>';  
         echo '<tr bgcolor="#dddddd"><th>編號</th><th>姓名</th><th>職務</th><th>工資</th></tr>';
         foreach( $table as $row ) {                 //中層foreach語句遍歷出每個表格中的行
              echo '<tr>';
              foreach($row as $col) {                 //內層foreach語句遍歷出每條記錄中的列值
                  echo '<td> '.$col.' </td>';         
               }
               echo '</tr>';
          }
          echo '</table><br>';
      }

test.php

<?php
/*
 *   使用for遍歷數組
 *
 *
 *   保證數組: 一定要是下標連續的索引數組
 *
 * 優點:
 *
 *   效率很高, 就是數組訪問方式, 只不過通過循環去取值
 *
 *   count(數組) 獲取數組的長度, 是數組的實際元素的個數
 *
 *不足:
    1. 數組下標不一定是連續的

    *   2. 關聯數組for 不能遍歷出值
    *
    *
    foreach() 語法
    1. 
    foreach(數組 as 自定義變量) {
    } 

    一、 數組有多少個元素, foreach就循環多少次
        二、foreach會將數組中的元素 在每次循環中, 依次將元素的值給自定義的變量, 在每次循環中用到這個變量,即用到了當前的數組中的元素
    2. 
    foreach(數組 as 下標變量 => 值變量) {
        
    } 
 *
 */

/*  $arr = array("one"=>"aa", "bb", "three"=>"cc", "dd", 9=>"ee", "ff", "four"=>"ggg", "hh", "xxx", "yyy", "zz");

    foreach($arr as $kk => $vv) {
        echo "{$kk} =============> {$vv} <br>";
    }

 */


    $group = [
            "name"=>"第三組",
            "price"=>888,
            ["name"=>"zs", "age"=>20, "sex"=>"男", "email"=>"aaa@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ls", "age"=>21, "sex"=>"女", "email"=>"bbb@bbb.com"], 
            ["name"=>"ww", "age"=>22, "sex"=>"男", "email"=>"cccc@bbb.com"]
    ];

    echo '<table border="1" width="800" align="center">';
    echo '<caption><h1>數組轉為表格<h1></caption>';
    foreach($group as $k=>$row) {

        echo '<tr>';

        if(is_array($row)) {
            foreach($row as $col) {
                echo '<td>'.$col.'</td>';
            }
        } else {
            echo '<td colspan="4">'.$k.':'.$row.'</td>';
        }

        echo '</tr>';
    
    }

    echo '</table>';
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 6.3.2 使用foreach語句遍歷數組 使用foreach語句遍歷數組 ?foreach循環結構:–forea...
    曹淵說創業閱讀 1,113評論 0 1
  • 數組的概述 PHP 中的數組實際上是一個有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方...
    dptms閱讀 1,633評論 0 4
  • 要訪問一個變量的內容,可以直接使用其名稱。如果該變量是一個數組,可以使用變量名稱和關鍵字或索引的組合來訪問其內容。...
    恩德_b0c2閱讀 403評論 0 0
  • 一、php可以做什么 php是一種可以在服務器端運行的編程語言,可以運行在Web服務器端。 php是一門后臺編程語...
    空谷悠閱讀 3,142評論 4 97
  • 作者:Jameson Quave,原文鏈接,原文日期:2015/09/09譯者:ray16897188;校對:nu...
    梁杰_numbbbbb閱讀 2,041評論 0 5