Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 객체의 키만 출력하는 방법

PHP에서 객체에 담긴 데이터를 다루다 보면, 값이 아닌 키(key)만 추출해서 출력해야 하는 경우가 종종 있습니다. 이번 글에서는 array_keys() 함수를 활용해 객체의 키를 간단하게 가져오는 방법을 알아보겠습니다.

예제 객체 준비하기

먼저 다음과 같은 직원 정보 객체가 있다고 가정해 보겠습니다.

$employeeDetails = (object) [
    'firstName' => 'John',
    'lastName' => 'Doe',
    'countryName' => 'US'
];

이 객체에서 우리가 얻고자 하는 결과는 다음과 같이 키 이름뿐입니다.

firstName
lastName
countryName

핵심: array_keys() 함수 사용하기

객체의 키만 출력하려면 PHP의 array_keys() 함수를 사용하면 됩니다. 다만 주의할 점은, 이 함수는 배열을 대상으로 동작하기 때문에 객체를 먼저 (array)로 형변환(casting)해야 한다는 것입니다.

전체 예제 코드

<!DOCTYPE html>
<html>
<body>
<?php
$employeeDetails = (object) [
   'firstName' => 'John',
   'lastName' => 'Doe',
   'countryName' => 'US'
];
// 객체를 배열로 변환한 뒤 키 목록을 추출
$allKeysOfEmployee = array_keys((array)$employeeDetails);
echo "모든 키는 다음과 같습니다=", "<br>";
foreach($allKeysOfEmployee as &$tempKey)
echo $tempKey, "<br>";
?>
</body>
</html>

실행 결과

모든 키는 다음과 같습니다=
firstName
lastName
countryName

코드 설명

위 코드의 핵심 흐름은 다음과 같습니다.

1. 객체 → 배열 변환: (array)$employeeDetails처럼 타입 캐스팅을 통해 객체를 연관 배열로 바꿉니다.
2. 키 추출: array_keys()가 배열의 모든 키를 담은 새로운 배열을 반환합니다.
3. 출력: foreach 반복문으로 각 키를 한 줄씩 화면에 출력합니다.

마무리

이처럼 PHP에서 객체의 키만 필요할 때는 (array) 캐스팅과 array_keys()를 조합하면 매우 간단하게 해결할 수 있습니다. 반대로 값(value)만 필요하다면 array_values() 함수를 사용하면 되며, 키와 값을 함께 순회하고 싶다면 foreach ($obj as $key => $value) 형태를 활용하는 것도 좋은 방법입니다.