6.3.4 list()函數的語法結構無標題文章

6.3.4 list()函數的語法結構

聯合使用list( )、each( )和while循環遍歷數組

?array each ( array array)
返回 array 數組中當前指針位置的鍵/值對并向前移動數組指針。鍵值對被返回為四個單元的數組,鍵名為 0,1,key 和 value。單元 0 和 key 包含有數組單元的鍵名,1 和 value 包含有數據。
如果內部指針越過了數組的末端,則 each() 返回 FALSE。
each() 經常和list( ) 結合使用來遍歷數組。
?void list ( mixed ...)
–它不是真正的函數,而是語言結構。list() 用一步操作給一組變量進行賦值。
注: list() 僅能用于數字索引的數組并假定數字索引從0開始。
–在執行 each() 之后,數組指針將停留在數組中的下一個單元或者當碰到數組結尾時停留在最后一個單元。如果要再用 each 遍歷數組,必須使用reset( )。

<?php
    //聲明一個數組$contact作為each()函數的參數
    $contact = **array**("ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市" );
    
    $id = each($contact);    //返回數組$contact中第一個元素的鍵/值對,是帶有4個元素的數組
    print_r($id);                   //輸出數組$id:Array ( [1] => 1 [value] => 1 [0] => ID [key] => ID)

    $name = each($contact); //返回數組$contact中第二個元素的鍵/值對,是帶有4個元素的數組
    print_r($name);                //輸出Array ( [1] => 高某 [value] => 高某 [0] => 姓名 [key] => 姓名)
   
   $info = **array**('coffee', 'brown', 'caffeine');         //聲明一個索引數組$info
    **list**($drink, $color, $power) = $info;                 //將數組中的所有元素轉為變量
    **echo** "**$drink** is **$color** and **$power** makes it special.\n"; //三個變量值是數組中三個元素的值

    **list**($drink, , $power) = $info;                           //將數組中的部分元素轉換為變量
    **echo** "**$drink** has **$power**.\n";                         //兩個變量值是數組中前兩個元素的值
    
    **list**( , , $power) = $info;                                    //跳過前兩個只將數組中第三個元素轉為變量
    **echo** "I need **$power**!\n";                                //輸出的一個變量值是數組中第三個元素的值

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>';
 */
/*
 *
 *  list() 函數 但這個函數和其它函數用法不同
 *
 *
 *  作用: 將數組中的元素轉為變量使用
 *
 *   1. 等號左邊使用list()函數, 等號右邊只能是一個數組
 *
 *   2. 數組中有幾個元素, 在list()中就用幾個參數,而且參數必數是變量(新聲明的自定義變量), 不能是值
 *
 *   3. 只能將索引數組(下標是連續), 轉為變量, 是按下標0開始找的
 *
 *   4. 可以在list()參數中通過,空項選擇性的接收數組中的元素
 *
 */
/*
    list($a, , $c) = array("妹子", "峰哥", "第三者");
    echo $a."<br>";
//  echo $b."<br>";
    echo $c."<br>";
    $str="峰哥_好帥";
list($name,$pro) = explode("_", $str);

echo $name.'<br>';
echo $pro.'<br>';

 */

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

推薦閱讀更多精彩內容

  • 數組的概述 PHP 中的數組實際上是一個有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方...
    dptms閱讀 1,633評論 0 4
  • PHP常用函數大全 usleep() 函數延遲代碼執行若干微秒。 unpack() 函數從二進制字符串對數據進行解...
    上街買菜丶迷倒老太閱讀 1,381評論 0 20
  • php usleep() 函數延遲代碼執行若干微秒。 unpack() 函數從二進制字符串對數據進行解包。 uni...
    思夢PHP閱讀 2,002評論 1 24
  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,769評論 0 33
  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,768評論 0 9