array_column()
是 PHP 5.5.0 及更高版本中的一个内置函数,它可以从多维数组或对象数组中提取一列数据
$users = [
['id' => 1, 'name' => 'Alice'],
['id' => 2, 'name' => 'Bob'],
['id' => 3, 'name' => 'Charlie']
];
$names = array_column($users, 'name');
print_r($names); // 输出: Array ( [0] => Alice [1] => Bob [2] => Charlie )
$users = [
['id' => 1, 'name' => 'Alice'],
['id' => 2, 'name' => 'Bob'],
['id' => 3, 'name' => 'Charlie']
];
$names = array_column($users, 'name', 'id');
print_r($names); // 输出: Array ( [1] => Alice [2] => Bob [3] => Charlie )
class User {
public $id;
public $name;
public function __construct($id, $name) {
$this->id = $id;
$this->name = $name;
}
}
$users = [
new User(1, 'Alice'),
new User(2, 'Bob'),
new User(3, 'Charlie')
];
$names = array_column($users, 'name');
print_r($names); // 输出: Array ( [0] => Alice [1] => Bob [2] => Charlie )
$users = [
['id' => 1, 'name' => 'Alice', 'group' => 'A'],
['id' => 2, 'name' => 'Bob', 'group' => 'B'],
['id' => 3, 'name' => 'Charlie', 'group' => 'A']
];
$groups = array_column($users, null, 'group');
print_r($groups);
/*
输出:
Array
(
[A] => Array
(
[id] => 3
[name] => Charlie
[group] => A
)
[B] => Array
(
[id] => 2
[name] => Bob
[group] => B
)
)
*/
这些示例展示了如何使用 array_column()
函数处理不同类型的数组和对象。通过这个函数,你可以轻松地从复杂的数组结构中提取所需的数据。