可使用array_values()直接提取PHP数组所有值并重置索引为0起始的连续数字;也可用foreach、array_map、array_column或array_reduce等方法实现,适用于不同场景需求。

如果您需要从PHP数组中提取所有值并生成一个仅包含这些值的新数组,则可以使用内置函数 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。
当不希望依赖内置函数或需在提取过程中加入条件判断时,可手动遍历原数组,仅取 value 部分构造新数组。
1、初始化一个空数组:$values = [];
2、使用 foreach ($arr as $value) 遍历原数组,每次迭代直接获取当前元素的值。
3、在循环体内执行 $values[] = $value; 将值追加至新数组。
4、遍历结束后,$values 即为仅含原数组所有值的一维数组。
array_map() 可对数组每个元素应用回调函数,配合恒等函数或自定义逻辑,实现值的提取与转换。
1、定义回调函数,返回输入参数本身:$identity = function($v) { return $v; };
2、调用 array_map($identity, $arr),其中 $arr 为原始数组。
3、结果数组的结构与原数组一致,但若仅需纯值数组且忽略键名,可再包裹一层 array_values()。
4、完整写法示例:$values = array_values(array_map($identity, $arr));
当处理二维或更高维度的数组(如数据库查询结果)时,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() 通过回调函数将数组逐步缩减为单一值,此处用于累积收集所有 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速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号