PHP 联合使用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";                                //输出的一个变量值是数组中第三个元素的值

使用while一起遍历数组

<?php
    //声明一个一维的关联数组$contact
    $contact = array("ID" => 1,
            "姓名" => "高某",
            "公司" => "A公司",
            "地址" => "北京市",
            "电话" => "(010)98765432",
            "EMAIL" => "gao@brophp.com" 
        );
    
    //以HTML列表的方式输出数组中每个元素的信息
    echo '<dl>一个联系人信息:';
    while( list($key, $value) = each($contact) ){ //将foreach语句改写成while、list()和each()组合
        echo "<dd> $key : $value </dd>";          //输出每个元素的键/值对
    }
    echo '</dl>';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李传海

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值