php取出数组value值_array_values提取数组所有值方法【技巧】

蓮花仙者
发布: 2025-12-15 13:46:08
原创
876人浏览过
可使用array_values()直接提取PHP数组所有值并重置索引为0起始的连续数字;也可用foreach、array_map、array_column或array_reduce等方法实现,适用于不同场景需求。

php取出数组value值_array_values提取数组所有值方法【技巧】

如果您需要从PHP数组中提取所有值并生成一个仅包含这些值的新数组,则可以使用内置函数 array_values()。以下是实现该操作的具体方式:

一、使用 array_values() 函数获取索引重排后的值数组

array_values() 函数会返回原数组中所有值组成的新数组,并自动将键名重置为从 0 开始的连续数字索引,适用于关联数组和索引数组。

1、定义一个包含键值对的关联数组,例如:$arr = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];

2、调用 array_values($arr) 函数,传入该数组作为参数。

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

3、接收返回值,例如:$values = array_values($arr);

4、此时 $values 的内容为 ['apple', 'banana', 'cherry'],且键名为 0, 1, 2

二、配合 foreach 循环逐个提取并存入新数组

当不希望依赖内置函数或需在提取过程中加入条件判断时,可手动遍历原数组,仅取 value 部分构造新数组。

1、初始化一个空数组:$values = [];

2、使用 foreach ($arr as $value) 遍历原数组,每次迭代直接获取当前元素的值。

3、在循环体内执行 $values[] = $value; 将值追加至新数组。

4、遍历结束后,$values 即为仅含原数组所有值的一维数组。

三、使用 array_map() 结合匿名函数提取值

array_map() 可对数组每个元素应用回调函数,配合恒等函数或自定义逻辑,实现值的提取与转换。

1、定义回调函数,返回输入参数本身:$identity = function($v) { return $v; };

TabTab AI
TabTab AI

首个全链路 Data Agent,让数据搜集、处理到深度分析一步到位。

TabTab AI 326
查看详情 TabTab AI

2、调用 array_map($identity, $arr),其中 $arr 为原始数组。

3、结果数组的结构与原数组一致,但若仅需纯值数组且忽略键名,可再包裹一层 array_values()

4、完整写法示例:$values = array_values(array_map($identity, $arr));

四、使用 array_column() 提取多维数组中指定列的值

当处理二维或更高维度的数组(如数据库查询结果)时,array_column() 可按字段名快速提取某列全部值,本质是批量取 value 的特化方式。

1、准备一个二维数组:$data = [['id'=>1,'name'=>'Alice'],['id'=>2,'name'=>'Bob']];

2、调用 array_column($data, 'name'),第二个参数指定要提取的键名。

3、返回结果为 ['Alice', 'Bob'],即该列所有 value 组成的索引数组。

4、若原数组为数值键且需提取全部子数组的首个值,可使用 array_column($data, 0)

五、使用 array_reduce() 累积构建值数组

array_reduce() 通过回调函数将数组逐步缩减为单一值,此处用于累积收集所有 value 到新数组中。

1、初始化累加器为数组:$initial = [];

2、定义回调函数:$callback = function($carry, $item) { $carry[] = $item; return $carry; };

3、执行 $values = array_reduce($arr, $callback, $initial);

4、该方法对关联数组有效,$item 在每次迭代中即为当前元素的 value,最终得到仅含值的新数组。

以上就是php取出数组value值_array_values提取数组所有值方法【技巧】的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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