본문 바로가기
PHP

[PHP] array_column() 함수로 배열 속 열(column)만 뽑아내기

by teamnova 2025. 5. 18.
728x90

안녕하세요. 

 

오늘은 PHP에서 다차원 배열을 다룰 때, 특정 키(column)만 추출할 수 있는 array_column()를 설명해보겠습니다. 

 

array_column()

 

array_column() 함수는 다차원 배열에서 특정 키만 추출하여 1차원 배열로 반환하는 함수입니다.

예를 들어, 회원 목록 배열에서 회원 이름(name)만 따로 뽑거나, 상품 리스트에서 가격(price)만 추출할 수 있습니다. 

 

array_column(array $array, string|int|null $column_key, string|int|null $index_key = null): array

 

  • $array: 대상이 되는 다차원 배열
  • $column_key: 추출할 열(키)의 이름
  • $index_key (선택): 결과 배열의 키로 사용할 열(키)의 이름

 

사용 예제 입니다. 

 

<?php

$users = [
    ['id' => 21, 'name' => '홍길동', 'age' => 28],
    ['id' => 22, 'name' => '철수', 'age' => 31],
    ['id' => 23, 'name' => '영희', 'age' => 22],
];

echo " <br>1. 이름만 추출하기 <br>";

$names = array_column($users, 'name');

print_r($names);

echo "  <br><br>2. ID를 배열 키로 사용하고, 이름 추출하기 <br>";

$namesWithId = array_column($users, 'name', 'id');

print_r($namesWithId);

echo "  <br><br>3. 특정 필드가 없는 경우 <br>";

$names = array_column($users, 'nickname'); // nickname은 없음

print_r($names);

?>

 

 

출력 결과

1. 이름만 추출하기
Array ( [0] => 홍길동 [1] => 철수 [2] => 영희 )

2. ID를 배열 키로 사용하고, 이름 추출하기
Array ( [21] => 홍길동 [22] => 철수 [23] => 영희 )

3. 특정 필드가 없는 경우
Array ( )

 

 

** 필드가 없으면 null이 들어갑니다.