温馨提示×

array_column()在PHP中的实际应用案例

PHP
小樊
84
2024-09-05 01:50:29
栏目: 编程语言

array_column() 是 PHP 5.5.0 及更高版本中的一个内置函数,它可以从多维数组或对象数组中提取一列数据

  1. 获取用户名称列表:
$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 )
  1. 将用户ID作为键值:
$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 )
  1. 从对象数组中提取属性:
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 )
  1. 根据指定的键值对数组进行分组:
$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() 函数处理不同类型的数组和对象。通过这个函数,你可以轻松地从复杂的数组结构中提取所需的数据。

0