PHP

[PHP] array_intersect_key() 로 배열에서 필요한 정보만 추리기

teamnova 2025. 6. 22. 14:37
728x90

안녕하세요, 

 

오늘은 array_intersect_key() 함수를 활용하여 배열 안에서 필요한 정보만 추려보도록 하겠습니다. 

 

array_intersect_key() 

array_intersect_key() 함수는 여러 배열을 비교해 동일한 키(key)가진 항목만 추출합니다. 

- 값(value)은 비교하지 않고, 키(key)만 기준으로 판단합니다.

- 첫번째 배열을 기준으로 비교하고, 나머지 배열들과 공통된 키만 남깁니다. 

array_intersect_key(array $array1, array $array2, ...): array

 

 

이 함수를 활용해서 캐릭터 정보 중 공개할 정보만 추려보겠습니다. 

<?php

// 전체 캐릭터 정보 (내부 데이터)
$fullProfile = [
    'nickname' => '닉네임',
    'level' => 35,
    'hp' => 120,
    'mp' => 80,
    'email' => '닉네임@example.com',
    'phone' => '010-1234-5678'
];

// 외부에 공개할 항목 (키만 나열)
$publicFields = [
    'nickname' => true,
    'level' => true,
    'hp' => true
];

// 공개용 프로필 생성
$publicProfile = array_intersect_key($fullProfile, $publicFields);

// 출력
print_r($publicProfile);

?>

 

실행 결과 

Array ( [nickname] => 닉네임 [level] => 35 [hp] => 120 )