PHP 二维数组取值

Alexer 发布于 阅读:17 速查

二维数组就是“数组里套数组”,取值靠两层下标:外层定位到哪一行,内层定位到那一行里的哪个键。

键名数组用 $arr['行']['列'],数字下标用 $arr[0][1],写几个中括号就往下取几层。只想取某一列的所有值,直接用 array_column(),不用自己循环。

<?php
$users = [
    ['id' => 1, 'name' => '张三'],
    ['id' => 2, 'name' => '李四'],
];

echo $users[0]['name'];   // 张三:先定位第 0 行,再取 name
echo $users[1]['id'];     // 2

// 取整列,返回 ['张三', '李四']
$names = array_column($users, 'name');

// 遍历时逐行取,$user 就是里面的一维数组
foreach ($users as $user) {
    echo $user['name'];
}

// 键可能不存在时先判断,避免报 Undefined index
if (isset($users[0]['name'])) {
    echo $users[0]['name'];
}

要改值也是同一套路:$users[0]['name'] = '王五'; 直接赋值覆盖,不需要先删。

PHP 语法基础 函数用法