«

PHP遍历关联数组

时间:2026-10-19 07:27     作者:emer     分类: 无


PHP遍历关联数组

引言

关联数组用键名而非数字下标组织数据,配置项、接口返回的JSON转成数组后都是关联数组。遍历要同时拿到键和值,foreach是最常用的方式,不同场景配合array_keys、array_walk更灵活。

foreach取键和值

$user = ['name'=>'刘馨怡','age'=>26,'city'=>'连云港'];
foreach ($user as $key => $value) {
    echo "$key: $value\n";
}

$key => $value同时拿到键名和值,最通用。

只取值

foreach ($user as $value) {
    echo $value;
}

不需要键名时省略$key。

用键名取单个值

echo $user['name'];
// 判断键是否存在
if (isset($user['email'])) {
    echo $user['email'];
}

取单值直接下标访问,先isset避免未定义键报错。

array_keys取所有键

$keys = array_keys($user);
print_r($keys); // ['name','age','city']

需要单独处理键名列表时用。

array_walk回调遍历

array_walk($user, function($value, $key) {
    echo "$key => $value";
});

适合把遍历逻辑封装成回调。

二维关联数组遍历

$list = [
    ['id'=>1,'name'=>'A'],
    ['id'=>2,'name'=>'B']
];
foreach ($list as $row) {
    echo $row['id'].'-'.$row['name'];
}

循环里再按键名取子元素。

注意事项

总结

关联数组遍历首选foreach的$key => $value形式,单值直接下标加isset判断,取键名用array_keys,封装逻辑用array_walk,二维数组外层foreach内层按键取值。掌握这几种就能应对配置、接口数据等绝大多数场景。

标签: PHP 后端开发 关联数组 foreach 数组遍历