php数组里面可放数组吗
时间:2022-05-11 [网络编程]作者:fabuyuan 浏览:5 次
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视频教程》
以上就是php数组里面可放数组吗的详细内容,更多请关注站长家园其它相关文章!
本文标签: phpphp数组
转载请注明来源:php数组里面可放数组吗
本文永久链接地址:https://www.adminjie.com/post/12164.html
免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。
更多精彩内容
- VUE中V-IF条件判断改变元素的样式操作
- Discuz如何解决安装时报错run_sql_error
- 低版本VS项目在VS2019无法正常编译的问题
- PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
- Oracle数据库的实例/表空间/用户/表之间关系简单讲解
- RSA2是啥?PHP-RSA2签名验证怎么实现?
- 华为dubal20是什么型号
- ana an00华为是什么型号
- html5的标题标记一共有几个等级
- 电脑显示信号线无连接是什么意思
- app是什么应用程序的简称
- html5中onclick是什么意思
- 小程序大小超限除了分包还能怎么做?如何避免和解决大小限制?
- angular与bootstrap的区别是什么
- vivov1818a是什么手机型号

- 最新文章
-
-
oracle怎么实现主键自增
方法:1、用“createsequence序列名minvalue...”创建序列;2、利用“createorreplacetrigger触发器名...
-
JavaScript字符串常见基础方法精讲
本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于字符串的相关知识,其中主要介绍了常用的基础方法以及特殊字符、emoji内部表示方式等内...
-
一起聊聊Excel逆向查询问题
本篇文章给大家带来了关于excel的相关知识,其中主要介绍了关于逆向查询的相关问题,就是关键字在数据表的右侧,而要得到内容在数据表的左侧,下面一起来看一下,希望...
-
2022年开发人员不可错过的 Web 平台的新动态
5月11-12日,谷歌举办了2022GoogleI/O全球开发者大会。在大会上,JakeArchibald和UnaKravet向我们介绍了...
-
linux中cp命令怎么设置不提示
linux中设置cp命令不提示方法:1、修改“~/.bashrc”文件,禁用cp命令的alias,只需将“aliascp='cp-i'”内容注释掉即可;2、...
-
- 热门文章
-
-
VUE中V-IF条件判断改变元素的样式操作
这篇文章主要介绍了VUE中V-IF条件判断改变元素的样式操作,具有很好的参考价值,希望对大家有所帮助。一起跟随想过来看看吧...
-
Discuz如何解决安装时报错run_sql_error
问题环境VMware虚拟机Centos7.3PHP7.0MySQL8.0NGINX1.14Discuz3.4问题还原本地环境为PHP5.6+MySQL5.6在安...
-
低版本VS项目在VS2019无法正常编译的问题
低版本VS项目在VS2019无法正常编译的问题这里指的编译并不准确,只是为了方便说明。后有(未安装),201?...
-
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
实现原理使用redis链表来做,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,推荐使用。实现步骤第一步,先将商品库存入队列/**.trigge...
-
Oracle数据库的实例/表空间/用户/表之间关系简单讲解
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。我们用这些高级权限账号...
-