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>';

 */

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数组的概述 PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方...
    dptms阅读 1,726评论 0 4
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,485评论 0 20
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 2,116评论 1 24
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,863评论 0 33
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,992评论 0 9

友情链接更多精彩内容