• 技术文章 >后端开发 >PHP问题

    php 多维数组是什么

    青灯夜游青灯夜游2023-01-14 10:45:26原创66

    在php中,多维数组指的是包含一个或多个数组的数组,例如二维数组就是一维数组里面再定义多个一维数组。数组的维度指示您需要选择元素的索引数,例如二维数组需要两个索引来选取元素、三维数组需要三个索引来选取元素。

    本教程操作环境:windows7系统、PHP8版、DELL G3电脑

    PHP - 多维数组

    多维数组指的是包含一个或多个数组的数组。

    PHP 能理解两、三、四或五级甚至更多级的多维数组。不过,超过三级深的数组对于大多数人难于管理。

    注释:数组的维度指示您需要选择元素的索引数。

    PHP - 两维数组

    两维数组是数组的数组(三维数组是数组的数组的数组)。

    首先,让我们看看下面的表格:

    品牌库存销量
    Volvo3320
    BMW1715
    Saab52
    Land Rover1511

    我们能够在两维数组中存储上表中的数据,就像这样:

    $cars = array
      (
      array("Volvo",22,18),
      array("BMW",15,13),
      array("Saab",5,2),
      array("Land Rover",17,15)
      );

    现在这个两维数组包含了四个数组,并且它有两个索引(下标):行和列。

    如需访问 $cars 数组中的元素,我们必须使用两个索引(行和列):

    实例

    <?php
    header("Content-type:text/html;charset=utf-8");
    $cars = array
       (
       array("Volvo",33,20),
       array("BMW",17,15),
       array("Saab",5,2),
       array("Land Rover",15,11)
       );
       
    echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
    echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
    echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
    echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";
    ?>

    1.png

    我们也可以在 For 循环中使用另一个 For 循环,来获得 $cars 数组中的元素(我们仍需使用两个索引):

    <?php
    header("Content-type:text/html;charset=utf-8");
    $cars = array
       (
       array("Volvo",33,20),
       array("BMW",17,15),
       array("Saab",5,2),
       array("Land Rover",15,11)
       );
       
    for ($row = 0; $row <  4; $row++) {
       echo "<p><b>行数 $row</b></p>";
       echo "<ul>";
       for ($col = 0; $col <  3; $col++) {
         echo "<li>".$cars[$row][$col]."</li>";
       }
       echo "</ul>";
    }
    ?>

    2.png

    二维数组的创建方法:

    二维数组和一维数组的创建方式是一样的,只是将数组中元素换成数组即可。同样有两种方法:“直接为数组元素赋值”和“array()函数”,下面我们实际的代码案例来详细的给大家介绍一下这两种方法。

    1、直接为数组元素赋值

    我们可以通过形如“$数组变量名[行下标] [列下标]= 值;”的格式来创建并初始化二维数组

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array[0]['姓名'] = '张三';
    $array[0]['年龄'] = '25';
    $array[0]['性别'] = '男';
    $array[1]['姓名'] = '李四';
    $array[1]['年龄'] = '21';
    $array[1]['性别'] = '男';
    $array[2]['姓名'] = '娜娜';
    $array[2]['年龄'] = '22';
    $array[2]['性别'] = '女';
    var_dump($array);
    ?>

    输出结果:

    1.png

    二维数组的行下标列下标可以为空(即不指定具体的索引值),那么默认为数字索引,而索引值默认从 0 开始依次增加。

    示例1:“列下标”为空

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array[0][] = '张三';
    $array[0][] = '25';
    $array[0][] = '男';
    $array[1][] = '李四';
    $array[1][] = '21';
    $array[1][] = '男';
    $array[2][] = '娜娜';
    $array[2][] = '22';
    $array[2][] = '女';
    var_dump($array);
    ?>

    输出结果:

    2.png

    示例2:“行下标”为空

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array[]['姓名'] = '张三';
    $array[]['年龄'] = '25';
    $array[]['性别'] = '男';
    $array[]['姓名'] = '李四';
    $array[]['年龄'] = '21';
    $array[]['性别'] = '男';
    $array[]['姓名'] = '娜娜';
    $array[]['年龄'] = '22';
    $array[]['性别'] = '女';
    var_dump($array);
    ?>

    输出结果:

    3.png

    示例3:“行下标”和“列下标”都为空

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array[][] = '张三';
    $array[][] = '25';
    $array[][] = '男';
    $array[][] = '李四';
    $array[][] = '21';
    $array[][] = '男';
    $array[][] = '娜娜';
    $array[][] = '22';
    $array[][] = '女';
    var_dump($array);
    ?>

    输出结果:

    1.png

    2、使用array()函数

    使用 array() 函数声明二维数组与声明一维数组相似。

    1)索引数组

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array
    (
        array("张三",25,"男"),
        array("李四",21,"男"),
        array("娜娜",22,"女")
    );
    var_dump($array);
    ?>

    输出结果:

    2.png

    2)关联数组

    示例1:

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array
    (
        "学生1"=>array("张三",25,"男"),
        "学生2"=>array("李四",21,"男"),
        "学生3"=>array("娜娜",22,"女")
    );
    var_dump($array);
    ?>

    输出结果:

    3.png

    示例2:

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array
    (
        "学生1"=>array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
        "学生2"=>array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
        "学生3"=>array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
    );
     var_dump($array);
    ?>

    输出结果:

    4.png

    说明:获取二维数组中的元素

    只需要注明每个维度的下标即可

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array
    (
        array("姓名"=>"张三","年龄"=>25,"性别"=>"男"),
        array("姓名"=>"李四","年龄"=>21,"性别"=>"男"),
        array("姓名"=>"娜娜","年龄"=>22,"性别"=>"女")
    );
     echo $array[0]['姓名'].'同学的年龄为'.$array[0]['年龄'].'岁';
    ?>

    输出结果:

    张三同学的年龄为25岁

    二、多维数组的创建

    多维数组是包含一个或多个数组的数组。

    在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。

    参考二维数组,我们可以很容易地了解多维数组的创建方法

    示例:三维数组的创建

    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array(
            '安徽' => array(
                '合肥'=>array('蜀山区','长丰县','肥东'),
    			'宿州'=>array('墉桥区','灵璧县','泗县')
            ),
            '河南' => array(
                '洛阳'=>array('西工区','老城区','孟津县'),
                '郑州市'=>array('中原区','金水区')
            )
    );
     var_dump($array);
    ?>

    输出结果:

    5.png

    推荐学习:《PHP视频教程

    以上就是php 多维数组是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php数组 php
    上一篇:php怎么删除数组重复元素 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php数组怎么去除一个指定下标的元素• php数组下标怎么求和• php数组怎么把key(键)转为值• php数组怎么去除0值• php数组中怎么进行并集求和• php数组指针什么用
    1/1

    PHP中文网