0

0

php怎么把一个数组里_php数组内操作提取与遍历处理完整法【教程】

蓮花仙者

蓮花仙者

发布时间:2025-12-18 19:50:56

|

717人浏览过

|

来源于php中文网

原创

PHP数组操作需掌握foreach、array_filter、array_map、array_column及for/while等方法:一用foreach遍历并条件提取;二用array_filter函数式过滤;三用array_map转换或提取字段;四用array_column高效提取多维数组列;五用for/while手动控制索引提取。

php怎么把一个数组里_php数组内操作提取与遍历处理完整法【教程】

如果您需要对 PHP 数组进行提取、筛选、遍历等基础与进阶操作,则需掌握多种内置函数与语法结构的组合使用。以下是实现数组内操作提取与遍历处理的完整方法:

一、使用 foreach 遍历并条件提取元素

foreach 是最直观的遍历方式,适用于索引数组与关联数组,可同步获取键名与值,并在循环中嵌入逻辑判断完成动态提取。

1、定义原始数组,例如 $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

2、声明空数组 $result = [];

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

3、使用 foreach ($arr as $key => $value) { if ($value > 2) { $result[$key] = $value; } }

4、输出 $result,将得到 ['c' => 3, 'd' => 4]

二、使用 array_filter 执行函数式条件提取

array_filter 接收数组和回调函数,自动过滤出满足条件的元素,保留原始键名,是函数式编程风格的标准做法。

1、定义数组 $data = [10, 20, 30, 40, 50];

2、调用 $filtered = array_filter($data, function($v) { return $v >= 30; });

3、若需重置键名,可额外包裹 array_values($filtered)

4、结果为 [30, 40, 50](键名重置后)或 [2 => 30, 3 => 40, 4 => 50](默认保留原键)。

三、使用 array_map 提取指定键或转换值

array_map 可对数组每个元素应用回调函数,常用于字段提取(如从对象数组中取 name)、类型转换或格式化。

1、定义二维数组 $users = [['name' => 'Alice', 'age' => 25], ['name' => 'Bob', 'age' => 30]];

2、执行 $names = array_map(function($u) { return $u['name']; }, $users);

3、结果为 ['Alice', 'Bob']

4、支持多数组并行映射,例如 array_map(null, $keys, $values) 可构造关联数组。

四、使用 array_column 提取多维数组中指定列

array_column 是 PHP 5.5+ 引入的专用函数,专用于从多维数组或对象数组中按键名快速提取单列数据,性能优于手动循环。

1、准备数组 $records = [['id'=>1,'title'=>'A'],['id'=>2,'title'=>'B']];

2、调用 $titles = array_column($records, 'title');

3、可选指定索引键:array_column($records, 'title', 'id') 返回 [1 => 'A', 2 => 'B']

4、该函数也支持从对象数组中提取 public 属性(PHP 7.0+)。

五、使用 for 或 while 遍历索引数组并手动控制提取逻辑

当需精确控制索引步长、中断条件或混合多种状态变量时,传统循环结构更灵活,尤其适合数值索引数组。

1、初始化 $nums = [5, 15, 25, 35]; $extracted = [];

2、设置 $i = 0; while ($i 10) { $extracted[] = $nums[$i]; } $i++; }

3、或使用 for ($i = 0; $i

4、最终 $extracted 值为 [15, 25, 35]

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

238

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

539

2024.03.01

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

790

2023.08.22

counta和count的区别
counta和count的区别

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

198

2023.11.20

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

98

2023.09.25

php中foreach用法
php中foreach用法

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

119

2025.12.04

C++类型转换方式
C++类型转换方式

本专题整合了C++类型转换相关内容,想了解更多相关内容,请阅读专题下面的文章。

305

2025.07.15

function是什么
function是什么

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

486

2023.08.04

全国统一发票查询平台入口合集
全国统一发票查询平台入口合集

本专题整合了全国统一发票查询入口地址合集,阅读专题下面的文章了解更多详细入口。

19

2026.02.03

热门下载

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

精品课程

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

共137课时 | 11万人学习

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号