PHP 버전
5.5+
다차원 배열에서 컬럼 키(key)
$users = [
    ['id' => 101, 'name' => 'Alice', 'city' => 'Seoul'],
    ['id' => 102, 'name' => 'Brian', 'city' => 'Busan'],
    ['id' => 103, 'name' => 'Clara', 'city' => 'Seoul']
];

$names = array_column($users, 'name');
print_r($names);
출력 print_r()로 출력된 결과: 인덱스 배열로 반환
array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array
class User {
    public $username;

    public function __construct(string $username)
    {
        $this->username = $username;
    }
}

// 객체 배열 생성
$users = [
    new User('user 1'),
    new User('user 2'),
    new User('user 3')
];

// 객체 배열에서 'username' 속성만 추출
$usernames = array_column($users, 'username');

print_r($usernames);
출력
class Person {
    private $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }

    public function __get($prop)
    {
        return $this->$prop;
    }

    public function __isset($prop) : bool
    {
        return isset($this->$prop);
    }
}

$people = [
    new Person('Fred'),
    new Person('Jane'),
    new Person('John')
];

// private 속성도 __get()과 __isset() 메서드로 추출 가능
$names = array_column($people, 'name');

print_r($names);
출력
$users = [
    ['id' => 101, 'name' => 'Alice', 'city' => 'Seoul'],
    ['id' => 102, 'name' => 'Brian', 'city' => 'Busan'],
    ['id' => 103, 'name' => 'Clara', 'city' => 'Seoul']
];

// id 컬럼을 키로, name 컬럼을 값으로 추출
$userNamesById = array_column($users, 'name', 'id');

print_r($userNamesById);
출력
$users = [
    ['id' => 101, 'name' => 'Alice', 'city' => 'Seoul'],
    ['id' => 102, 'name' => 'Brian', 'city' => 'Busan'],
    ['id' => 103, 'name' => 'Clara', 'city' => 'Seoul']
];

// 이름 컬럼만 추출
$names = array_column($users, 'name');

// 이름 배열에서 특정 이름이 있는지 확인
if (in_array('Brian', $names)) {
    echo "Brian은 사용자 목록에 있습니다.";
}

// 이름 배열을 활용해 반복 처리
foreach ($names as $name) {
    echo "- $name\n";
}
출력