您现在的位置是:群英 > 开发技术 > PHP语言
数组里面可放数组吗,php可不可以这样做
Admin发表于 2022-06-16 09:26:20637 次浏览
这篇文章给大家介绍了“数组里面可放数组吗,php可不可以这样做”的相关知识,讲解详细,步骤过程清晰,对大家进一步学习和理解“数组里面可放数组吗,php可不可以这样做”有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。

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);
?>

输出结果:

二维数组的行下标列下标可以为空(即不指定具体的索引值),那么默认为数字索引,而索引值默认从 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:“行下标”为空

<?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:“行下标”和“列下标”都为空

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

输出结果:

2)、使用array()函数

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

  • 索引数组

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

输出结果:

  • 关联数组

示例1:

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

输出结果:

示例2:

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

输出结果:

扩展:获取二维数组中的元素

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

<?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);
?>

输出结果:



以上就是关于“数组里面可放数组吗,php可不可以这样做”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: php
相关信息推荐
2022-05-31 17:39:47 
摘要:java获取时间与系统时间不一致的解决办法:1、JVM运行时增加参数,并指定时区;2、直接在程序中设置时区;3、直接加上28800。
2022-05-16 11:45:12 
摘要:随着互联网的发达,各种WEB应用也变得越来越复杂,满足了用户的各种需求,但是随之而来的就是各种网络安全的问题。作为前端开发行业的我们也逃不开这个问题。所以今天我就简单聊一聊WEB前端安全以及如何防范。
2022-09-08 17:59:50 
摘要:“node.js”中url是统一资源定位符,是“Uniform Resource Locator”的缩写,是专为标识Internet网上资源位置而设置的一种编址方式;url是由资源类型、存放资源的主机域名和资源文件名三个部分组成的,使用“node.js”的url库可以查看url的内容。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部