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

 */

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容

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