0

0

php的二维数组写法详解_php多维数组定义格式指南【教程】

雪夜

雪夜

发布时间:2025-12-08 18:41:07

|

644人浏览过

|

来源于php中文网

原创

PHP定义二维数组有五种方式:一、用array()嵌套定义;二、PHP5.4+用[]短语法;三、关联型二维数组用语义键;四、动态追加子数组;五、用array_fill()和array_map()构造规则化数组。

php的二维数组写法详解_php多维数组定义格式指南【教程】

一、使用 array() 函数定义二维数组

PHP 中最基础且兼容性最强的二维数组定义方式是通过嵌套 array() 函数实现,外层数组的每个元素本身是一个一维数组。这种方式在 PHP 所有版本中均有效,适合初学者理解数组层级结构。

1、声明一个空的二维数组变量,例如 $matrix = array();。

2、为外层数组添加索引键,并将内层数组作为其值,例如 $matrix[0] = array('a', 'b', 'c');。

3、继续添加其他行,例如 $matrix[1] = array('x', 'y', 'z');。

立即学习PHP免费学习笔记(深入)”;

4、访问元素时使用双重方括号,例如 $matrix[0][1] 返回 'b'。

二、使用方括号语法(PHP 5.4+)定义二维数组

自 PHP 5.4 起支持短数组语法,用方括号 [] 替代 array(),使嵌套结构更简洁易读,代码密度更高,但要求运行环境不低于该版本。

1、直接初始化二维数组,例如 $grid = [['red', 'green'], ['blue', 'yellow']];。

2、混合索引与关联形式也可写为 $data = [0 => ['id' => 1, 'name' => 'Alice'], 1 => ['id' => 2, 'name' => 'Bob']];。

3、访问关联子数组元素时使用键名,例如 $data[0]['name'] 返回 'Alice'。

三、定义关联型二维数组(键名明确的多维结构)

当每行数据具有语义化字段(如用户信息中的 name、age、email),采用关联键可提升代码可维护性与可读性,避免依赖数字索引顺序。

1、逐行赋值:$users[] = ['name' => 'Tom', 'age' => 28, 'city' => 'Beijing'];。

2、批量初始化:$users = [['name' => 'Lily', 'age' => 25], ['name' => 'Jack', 'age' => 30]];。

3、遍历并访问时推荐使用 foreach 配合键名,例如 echo $users[0]['age']; 输出 25。

四、动态追加子数组到已存在的一维数组中

在程序运行过程中逐步构建二维数组,适用于从数据库查询结果、表单循环提交或文件逐行解析等场景,无需预先确定行数。

1、先声明一维数组,例如 $list = [];。

2、在循环中使用 [] 追加新行,例如 $list[] = ['timestamp' => time(), 'action' => 'login'];。

3、追加后可通过 count($list) 获取当前总行数,索引从 0 开始自动分配。

五、使用 array_fill() 与 array_map() 构造规则化二维数组

当需要生成结构统一、内容按规律填充的二维数组(如初始化 3×4 的零矩阵),可借助内置函数减少重复代码,提高构造效率。

1、用 array_fill 创建重复行:$rows = array_fill(0, 3, array_fill(0, 4, 0)); 得到 3 行 4 列全 0 数组。

2、结合匿名函数生成带计算值的二维结构:$matrix = array_map(function($i) { return [$i, $i*2, $i*3]; }, range(0, 2));。

3、结果中第 1 行第 2 列的值为 $matrix[1][1],即 2。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

198

2023.11.20

php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

97

2025.12.04

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

485

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

163

2023.10.07

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

360

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2083

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

349

2023.08.31

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

256

2023.09.05

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

30

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 10.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号