• list结构搭配each函数遍历数组


    each函数

    each:通过数组指针来获取数组的元素,将数组指针下移一位:如果数组指针不是指向一个有效的元素:返回false:其他时候获取到元素(下标和值),返回一个数组(四个元素:2个索引+2个关联元素)

    // 定义数组
    $arr = array(
        'name' => 'Dragon', // 默认的:数组指针在第一位
        'age'  => 500,
        'skill'=> 'run'
    );
    
    //通过each函数获取数组元素
    echo '<pre>';
    
    var_dump(each($arr));
    var_dump(each($arr));
    var_dump(each($arr));
    var_dump(each($arr));
    
    /*输出结果
    array (size=4)
      1 => string 'Dragon' (length=6)
      'value' => string 'Dragon' (length=6)
      0 => string 'name' (length=4)
      'key' => string 'name' (length=4)
    array (size=4)
      1 => int 500
      'value' => int 500
      0 => string 'age' (length=3)
      'key' => string 'age' (length=3)
    array (size=4)
      1 => string 'run' (length=3)
      'value' => string 'run' (length=3)
      0 => string 'skill' (length=5)
      'key' => string 'skill' (length=5)
    boolean false*/

    证明指针下移:再次获取,获取不到的时候返回false

    list结构

    list结构:能够自动批量的对变量进行赋值:从数组中去获取对应的索引下标对应的元素,将其值取出来赋值给变量。

    list(变量1,变量2...) = 数组变量;
    // 从数组中将索引下标为0的元素的值赋值变量1,将索引为1的元素的值赋值给变量2...

    // 定义数组
    $arr = array(1,2,3);
    
    // 使用list结构
    list($e1,$e2) = $arr; // 从数组arr取两个: 从0开始的下标(和1)
    echo $e1,'~',$e2; // 1~2
    
    // 如果目标数组中没有对应的元素,那么就会失败
    list($e1,$e2,$e3,$e4) = $arr; // 没有这么多元素
    var_dump($e1,$e2,$e3,$e4); // 错误

    通常list是搭配each:each获取的数组中一定会有0和1对应的下标元素

    $arr = array(
        'name' => 'Dragon', // 默认的:数组指针在第一位
        'age'  => 500,
        'skill'=> 'run'
    );
    
    list($key,$value) = each($arr);
    echo $key,$value; // nameDragon

    list搭配each遍历数组

    $arr = array(
        'name' => 'Dragon', // 默认的:数组指针在第一位
        'age'  => 500,
        'skill'=> 'run'
    );
    
    // list搭配each遍历数组
    while(list($k,$v) = each($arr)){
        //1.先执行each: 从数组中获取元素,指针下移
        //2.两个结果: 数组和false
        //2.1如果结果是数组: 将数组中的0和1元素取出来赋值$k,和$v: true进入循环体
        //2.2如果结果是false: 不再进入循环体
        echo $k,':',$v,'<br/>';
    }
    
    /*输出结果
    name:Dragon
    age:500
    skill:run
    */
  • 相关阅读:
    ajax异步服务器获取时间
    JavaScript基本知识
    JavaScript使用button提交表单
    spring与hibernate整合
    Spring的事务属性
    注解方式实现Spring声明式事务管理
    svn的安装使用
    sbn
    恢复oracle中误删除drop掉的表
    ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes的解决办法
  • 原文地址:https://www.cnblogs.com/chenjiacheng/p/6522628.html
Copyright © 2020-2023  润新知