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

    php数组里面可放数组吗

    青灯夜游青灯夜游2022-05-10 13:48:42原创152

    php数组里面可以放数组。PHP数组可以存储所有类型的数据,当然也包括数组本身;如果一个数组中的元素是另一个数组,就构成了包含数组的数组,即多维度数组。数组的不同维度标志着需用几个下标(索引)来获取对应的数组元素,比如二维数组需用两个下标。

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

    php数组里面可以放数组。

    数组是 PHP 中最重要的数据类型之一,在 PHP 中的应用非常广泛。因为 PHP 是弱数据类型的编程语言,所以 PHP 中的数组变量可以存储任意多个、任意类型的数据,并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能。

    PHP 中的数组可以存储所有类型的数据,当然也包括数组本身。如果一个数组中的元素是另一个数组,就构成了包含数组的数组,即多维度数组:

    不过数组超过三维之后可读性就会大大降低,同时也不便于管理。

    下面来看看定义多维数组的方法:

    1、定义二维数组

    二维数组和一维数组的声明方式一样,只是将数组中的一个或多个元素也声明成一个数组,同时也有直接为数组元素赋值和使用 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() 函数声明二维数组与声明一维数组相似。

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

    输出结果:

    2.png

    示例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]['年龄'].'岁';
    ?>

    输出结果:

    注:数组的不同维度标志着我们需要使用几个下标(索引)来获取对应的数组元素,比如二维数组需要使用两个下标来获取对应的数组元素,三维数组则需要三个,以此类推。

    2、多维数组的创建

    参考二维数组,举一反三,可以很容易地创建三维数组、四维数组或者其他更高维数的数组。定义一个三维数组的示例如下:

    <?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数组怎么去掉最大值和最小值后求平均
    千万级数据并发解决方案

    相关文章推荐

    • php数组通过值找键名(key)可以吗• php数组的下标默认是什么• php数组能排序么• 创建php数组的方法有哪几种• php数组长度用什么函数取得• php数组怎么去掉最大和最小元素
    1/1

    PHP中文网