0

0

PHP数组如何操作_PHP多维数组的创建遍历与常用函数

爱谁谁

爱谁谁

发布时间:2025-09-28 19:30:06

|

313人浏览过

|

来源于php中文网

原创

多维数组是PHP中处理复杂数据的关键结构,通过嵌套数组可表示表格或树形数据。使用foreach循环可遍历关联或索引型二维数组,结合array_column提取列、array_map修改元素、array_filter筛选数据、usort自定义排序,能高效操作多维数组。核心在于理解“数组套数组”结构,注意键名拼写与索引重置,配合内置函数提升开发效率。

php数组如何操作_php多维数组的创建遍历与常用函数

PHP中的数组是开发中非常常用的数据结构,尤其多维数组在处理复杂数据时特别实用,比如表格数据、树形结构等。掌握多维数组的创建、遍历和常用函数操作,能极大提升代码效率。

多维数组的创建

多维数组就是数组中包含数组。最常见的形式是二维数组,比如表示一个班级学生的成绩表。

示例:

创建一个二维数组,保存学生姓名和各科成绩:

$students = [

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

  [ 'name' => '张三', 'math' => 85, 'english' => 78 ],

  [ 'name' => '李四', 'math' => 92, 'english' => 88 ],

  [ 'name' => '王五', 'math' => 76, 'english' => 81 ]

];

也可以使用索引方式创建:

$matrix = [

  [1, 2, 3],

  [4, 5, 6],

  [7, 8, 9]

];

多维数组的遍历方法

遍历多维数组通常使用 foreach 循环,清晰且不易出错。

遍历上面的 $students 数组:

foreach ($students as $student) {

Voicenotes
Voicenotes

Voicenotes是一款简单直观的多功能AI语音笔记工具

下载

  echo $student['name'] . ' 的数学成绩:' . $student['math'] . '
';

}

如果是索引型二维数组(如 $matrix),可以嵌套 foreach:

foreach ($matrix as $row) {

  foreach ($row as $value) {

    echo $value . ' ';

  }

  echo '
';

}

也可以同时获取键和值:

foreach ($students as $index => $student) {

  echo "第{$index}个学生:{$student['name']}
";

}

常用数组函数操作

PHP提供了丰富的内置函数来操作多维数组,以下是一些高频使用的函数。

  • array_column():提取某一列的值。例如提取所有学生姓名:
    $names = array_column($students, 'name');
  • array_map():对每个子数组执行操作。例如给每个学生加5分:
    $new_grades = array_map(function($s) { $s['math'] += 5; return $s; }, $students);
  • array_filter():筛选符合条件的元素。例如找出数学成绩大于80的学生:
    $high_scorers = array_filter($students, function($s) { return $s['math'] > 80; });
  • usort():自定义排序。例如按数学成绩从高到低排序:
    usort($students, function($a, $b) { return $b['math'] $a['math']; });

注意:多维数组操作时,函数是否保留原键名或重置索引需留意。例如 array_values() 可用于重置索引。

基本上就这些。多维数组的核心在于理解“数组套数组”的结构,配合 foreach 和系统函数,就能灵活处理各种数据场景。不复杂但容易忽略细节,比如键名拼写、引用传递等,写代码时多测试即可。

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
php中foreach用法
php中foreach用法

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

74

2025.12.04

treenode的用法
treenode的用法

​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

538

2023.12.01

C++ 高效算法与数据结构
C++ 高效算法与数据结构

本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

17

2025.12.22

深入理解算法:高效算法与数据结构专题
深入理解算法:高效算法与数据结构专题

本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

26

2026.01.06

java值传递和引用传递有什么区别
java值传递和引用传递有什么区别

java值传递和引用传递的区别:1、基本数据类型的传递;2、对象的传递;3、修改引用指向的情况。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

108

2024.02.23

go语言引用传递
go语言引用传递

本专题整合了go语言引用传递机制,想了解更多相关内容,请阅读专题下面的文章。

159

2025.06.26

function是什么
function是什么

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

482

2023.08.04

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

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

163

2023.10.07

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

142

2026.01.28

热门下载

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

精品课程

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

共162课时 | 13.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

NumPy 教程
NumPy 教程

共44课时 | 3万人学习

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

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