在PHP开发里,提取数组全部元素值是一项非常基础且频繁出现的操作。无论处理接口返回的数据,还是整理数据库查询结果,我们常常需要把数组中的每一个值都取出来,而不关心键名。下面介绍几种常用且可靠的做法。

使用foreach遍历提取
foreach是PHP中最直观的遍历方式,可以轻松把每个值存到新数组中。
<?php
$source = array('a' => 10, 'b' => 20, 'c' => 30);
$values = array();
foreach ($source as $val) {
// 将每个元素值放入新数组
$values[] = $val;
}
print_r($values);
?>
使用array_values函数
如果只需要保留值并重新建立数字索引,array_values是最简单的内置函数。
<?php
$source = array('name' => 'Tom', 'age' => 18, 'city' => 'Beijing');
$allValues = array_values($source);
print_r($allValues);
?>
使用while与each(不推荐新版)
在老代码中可能见到each配合while的用法,但each在PHP7.2后已废弃,仅作了解。
<?php
$source = array('x' => 1, 'y' => 2);
while (list(, $val) = each($source)) {
echo $val . "n";
}
?>
不同方法对比
| 方法 | 是否保留键 | 适用场景 |
|---|---|---|
| foreach | 否(可自定义) | 灵活处理,大数组友好 |
| array_values | 重置数字索引 | 快速提取值列表 |
| each+while | 否 | 旧系统维护 |
小结
实际项目中,推荐优先使用array_values获取纯值数组;若遍历时还需做判断或转换,用foreach更合适。注意代码中若用到<input>这类标签名称要做转义,避免被解析。掌握这些方法,就能稳定高效地提取PHP数组全部元素值。
PHP数组遍历array_values修改时间:2026-07-30 18:33:17