二维数组,根据某个特定的id来查找对应的name值

startmvc php框架学习社区

技术交流社区
二维数组,根据某个特定的id来查找对应的name值
admin 普通会员 时间:2024-01-29 00:22:23 浏览:572

在PHP中,如果你有一个二维数组,并且想要根据某个特定的id来查找对应的name值,你可以使用数组的array_column函数来获取所有name值,然后使用array_search或者array_filter来找到匹配的id。这里有一个简单的例子:

假设你有一个如下的二维数组:
$array = [
    ['id' => 1, 'name' => 'Alice'],
    ['id' => 2, 'name' => 'Bob'],
    ['id' => 3, 'name' => 'Charlie'],
    // ... 其他数据
];

如果你想根据id为2的元素查找name,你可以这样做:

使用array_column和array_search:

$names = array_column($array, 'name', 'id'); // 创建一个以id为键,name为值的新数组
$id = 2;
$name = $names[$id] ?? null; // 使用null合并运算符来处理可能的未找到情况

echo $name; // 输出: Bob
或者使用array_filter:

$filtered = array_filter($array, function($item) use ($id) {
    return $item['id'] == $id;
});

$name = $filtered ? $filtered[0]['name'] : null; // 如果找到,输出name,否则输出null

echo $name; // 输出: Bob
这两种方法都可以帮助你根据id查找name值。使用array_column方法会创建一个新的数组,其中包含所有name值,并且它们的键是对应的id。然后你可以使用这个键来直接访问你想要的name。而array_filter方法则会返回一个新的数组,其中只包含匹配给定条件的元素,然后你可以从这个数组中获取name。

回复列表
0个回复