从二维数组中提取特定键值的三种方法
秀秀 发布于 2024-6-18 14:29 24 次阅读
在 PHP 中,可以使用数组函数如 array_column
或者通过遍历数组来从一个二维数组中提取某个键的值,并组成一个一维数组。下面是几个实现方法:
使用 array_column
如果你的 PHP 版本支持 array_column
(PHP 5.5.0 及以上),可以使用它来简化操作。
<?php
$array = [
['id' => 1, 'name' => 'Alice', 'age' => 25],
['id' => 2, 'name' => 'Bob', 'age' => 30],
['id' => 3, 'name' => 'Charlie', 'age' => 35],
];
$names = array_column($array, 'name');
print_r($names);
?>
输出:
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
使用 foreach
循环
如果不能使用 array_column
,可以通过 foreach
循环来实现。
<?php
$array = [
['id' => 1, 'name' => 'Alice', 'age' => 25],
['id' => 2, 'name' => 'Bob', 'age' => 30],
['id' => 3, 'name' => 'Charlie', 'age' => 35],
];
$names = [];
foreach ($array as $item) {
$names[] = $item['name'];
}
print_r($names);
?>
输出与上面相同:
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
使用 array_map
array_map
也是一个有效的方法。
<?php
$array = [
['id' => 1, 'name' => 'Alice', 'age' => 25],
['id' => 2, 'name' => 'Bob', 'age' => 30],
['id' => 3, 'name' => 'Charlie', 'age' => 35],
];
$names = array_map(function($item) {
return $item['name'];
}, $array);
print_r($names);
?>
输出仍然相同:
Array
(
[0] => Alice
[1] => Bob
[2] => Charlie
)
总结
array_column
是最简洁的方法,适用于 PHP 5.5.0 及以上版本。foreach
循环 适用于任何 PHP 版本,且直观易懂。array_map
是一种函数式编程方法,适合喜欢用回调函数的场景。
根据具体情况和代码风格选择合适的方法来提取数组中的键值。