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

如果您需要对 PHP 数组进行提取、筛选、遍历等基础与进阶操作,则需掌握多种内置函数与语法结构的组合使用。以下是实现数组内操作提取与遍历处理的完整方法:
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 接收数组和回调函数,自动过滤出满足条件的元素,保留原始键名,是函数式编程风格的标准做法。
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 可对数组每个元素应用回调函数,常用于字段提取(如从对象数组中取 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 是 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+)。
当需精确控制索引步长、中断条件或混合多种状态变量时,传统循环结构更灵活,尤其适合数值索引数组。
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]。
以上就是php怎么把一个数组里_php数组内操作提取与遍历处理完整法【教程】的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号