17370845950

php获取数组所有值_array_values提取全部值【指南】
使用array_values函数可提取PHP数组所有值生成新索引数组,自动重置键名为0开始的连续数字,适用于关联或索引数组且不修改原数组;也可用foreach手动收集或array_map配合恒等函数实现。

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

一、使用array_values函数获取数组所有值

array_values函数会返回输入数组中所有值组成的新索引数组,自动重置键名,忽略原始键名,仅保留顺序索引。该函数适用于关联数组和索引数组,且不修改原数组。

1、定义一个关联数组或索引数组,例如:$arr = ['a' => 'apple', 'b' => 'banana', 2 => 'cherry'];

2、调用array_values函数处理该数组:$values = array_values($arr);

3、输出结果验证:print_r($values); 将显示索引数组Array ( [0] => apple [1] => banana [2] => cherry )。

二、遍历数组并手动收集值

当需要在提取值的同时进行条件过滤或类型转换时,可使用foreach循环逐个访问元素值并推入新数组,从而获得完全可控的值提取过程。

1、初始化空数组用于存储值:$values = [];

2、使用foreach遍历原数组,仅取$value部分:foreach ($arr as $value) { $values[] = $value; }

3、确认结果:var_dump($values);

三、使用array_map配合匿名函数提取值

array_map可用于对数组每个元素执行操作,若传入恒等函数(即返回自身),可间接实现值提取,同时支持嵌套结构中的值扁平化预处理。

1、定义恒等匿名函数:$identity = function($v) { return $v; };

2、应用array_map:$values = array_map($identity, $arr);

3、强制重置键名以确保为连续数字索引:$values = array_values($values);