PHP提取数组所有值的方法有五种:一、array_values()重置键名生成索引数组;二、foreach循环手动追加值;三、array_map()配合匿名函数处理并收集;四、ArrayIterator对象遍历;五、array_column()提取多维数组指定列值。

如果需要从现有数组中提取所有值并放入一个新数组,PHP 提供了多种原生函数和语法方式来实现该操作。以下是几种常用且互不依赖的方法:
该函数返回原数组中所有值组成的新索引数组,自动重置键名,适用于关联数组或键名混乱的场景。
1、定义原始数组,例如 $arr = ['a' => 10, 'b' => 20, 'c' => 30];。
2、调用 array_values($arr),结果为 [10, 20, 30]。
立即学习“PHP免费学习笔记(深入)”;
3、将返回值赋给新变量,例如 $newArr = array_values($arr);。
通过遍历原数组,逐个将值追加到空数组中,适合需同时过滤或转换值的场景。
1、初始化空数组 $newArr = [];。
2、使用 foreach ($arr as $value) { $newArr[] = $value; }。
3、循环结束后,$newArr 即为仅含原数组值的新数组。
该方式可对每个值进行处理后再收集,即使不做变换,也能构造新数组。
1、定义匿名函数返回当前值:function($v) { return $v; }。
2、执行 $newArr = array_map(function($v) { return $v; }, $arr);。
3、结果与原数组值顺序一致,键名被丢弃,生成数字索引新数组。
适用于需面向对象风格操作或配合迭代器接口使用的场景。
1、创建迭代器实例:$it = new ArrayIterator($arr);。
2、初始化新数组:$newArr = [];。
3、遍历并提取值:foreach ($it as $value) { $newArr[] = $value; }。
当原始数组是二维或更高维结构,且目标是提取某列全部值时,此函数直接有效。
1、定义二维数组:$arr = [['id'=>1,'name'=>'A'],['id'=>2,'name'=>'B']];。
2、提取 name 列:$newArr = array_column($arr, 'name');。
3、结果为 ['A', 'B'],即指定键对应的所有值构成的新数组。
以上就是php怎么把数组的值放到一个新数组_PHP提取数组值到新数组的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号