zoukankan      html  css  js  c++  java
  • PHP之旅3 php数组以及遍历数组 以及each() list() foreach()

    php的数组的定义

    <?php
    //php中定义数组时可以通过索引直接进行赋值:
    $mArr[0]="哈哈";
    $mArr[1]=70;
    $mArr[2]='haha';
    echo "下面输出的是mArr:<br/>";
    var_dump($mArr);
    echo "<br/>";
    
    //也可以直接赋值,php会从0自动编码
    $kArr[]="哈哈";
    $kArr[]=70;
    $kArr[]='haha';
    echo "下面输出的是kArr:<br/>";
    var_dump($kArr);
    echo "<br/>";
    //还可以这样写
    $rArr[5]="哈哈";
    $rArr[]=70;
    $rArr[]='haha';
    echo "下面输出的是rArr:<br/>";
    var_dump($rArr);
    echo "<br/>";
    ?>

    结果:

    但如果定义了两个相同的索引,那前面那个值将会被覆盖掉。可以自己尝试一下。

     数组的遍历:

    foreach();

    php的数组遍历可以通过for和while循环进行遍历,还可以有foreach进行,表达式有两种,分别是:

    foreach(数组名  as  元素名){

        语句块;

    }

    或者:

    foreach(数组名 as 键名 => 元素名){

         语句块;

    }

    两个有些不同,可以通过下面的例子看出:如果数组是键值对的话只能将数组中的键值对的值获取到,第二种方法是可以将key也获取到。

    eg:

    <?php
    
    $name = array('张三' => '姓张','李四'=>'姓李','王二'=>'姓王','赵一'=>'姓赵');
    
    foreach ($name as $value) {
        echo "第一次的结果::".$value."<br/>";
    }
    
    
    foreach ($name as $key => $value) {
        echo "第二次的结果::"."key的值是:"."$key".",并且value的值为:"."$value<br/>";
    }
    ?>

    结果是:

    list()进行遍历数组

    list()并不是真正的函数,和array[]一样,是一种语言结构,list()只能用于下标从0开始的索引数组。

    void list(mixed $var , mixed $...)

    eg:

    <?php
    $mArr=["张三",20,'男','1998年出生'];
    
    list($name,$age,$sex) = $mArr;
    
    echo $name.' '.$age.' '.$sex;
    ?>

    结果:

    可以看出list()是直接取得mArr的从下边为了、0开始的前三个值

    each()遍历数组

     each()用于返回数组中当前的键值对,并将数组指针向前移动一步。语法格式:

    array each(array $var);

    eg:

    <?php
    $mArr=["张三",20,'男','1998年出生'];
    
    $arr = each($mArr);
    echo "<br/>";
    var_dump($arr);
    
    
    $arr = each($mArr);
    echo "<br/>";
    var_dump($arr);
    
    
    $arr = each($mArr);
    echo "<br/>";
    var_dump($arr);
    
    
    $arr = each($mArr);
    echo "<br/>";
    var_dump($arr);
    ?>

    结果为:

    返回4个单元的数组,键名为0、1、key、value。单元0和key包含数组的键名,1和value办函数组元素的值如果指针越界,则each()返回FALSE。

    混合使用list()与each()遍历数组:

    eg:

    <?php
    $mArr=["张三",20,'男','1998年出生'];
    
    while (list($key,$value) = each($mArr)) {
        echo  $key."=>".$value;
        echo "<br/>";
    }
    ?>

    结果如下:

    二维数组就以及遍历就是按照上面的方法进行嵌套。

  • 相关阅读:
    02-高阶函数 map filter sorted
    01-切片的赋值操作
    学习资料记录
    django_初级学习(1)
    git配置使用
    openpyxl操作表格(2)
    openpyxl模块操作excell表格(1)
    精简语法
    MySQL常见面试题
    02-图片转字符画
  • 原文地址:https://www.cnblogs.com/carlos-mm/p/8777003.html
Copyright © 2011-2022 走看看