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()
函數處理不同類型的數組和對象。通過這個函數,你可以輕松地從復雜的數組結構中提取所需的數據。