Programming/PHP

[PHP] #27 PHP 배열, PHP 배열 필터링과 검색

TOASTDEV 2025. 8. 16. 16:00
반응형

 

 

안녕하세요 토스트 데브입니다.

배열에서 원하는 값만 추출하거나 검사할 때 매우 유용한 함수들이 있습니다.
조건에 따라 요소를 걸러내거나, 특정 키나 값이 존재하는지를 확인하는 기능은 실전에서 자주 사용되며, 입력 검증, 데이터 탐색, 조건 필터링 등에 필수적입니다.

 

 

🔍 배열 검색 함수

✅ in_array() – 배열 안에 특정 값이 있는지 확인

$fruits = ['apple', 'banana', 'orange'];
if (in_array('banana', $fruits)) {
    echo "바나나 있음!";
}
📌 타입까지 일치시켜 검사하려면 두 번째 인자에 true 추가
in_array(123, ['123', 123], true); // true

 

✅ array_search() – 배열에서 값의 키(또는 인덱스) 찾기

$names = ['Tom', 'Jane', 'Alice'];
$index = array_search('Jane', $names);
echo $index;  // 출력: 1
찾는 값이 없으면 false 반환
타입 엄격 비교는 true 추가 (array_search($val, $array, true))

 

✅ array_key_exists() – 특정 키가 존재하는지 확인

$user = ['name' => 'Tom', 'age' => 25];
if (array_key_exists('age', $user)) {
    echo "나이 정보 있음!";
}
isset()과 달리 값이 null이어도 존재 여부를 true로 반환합니다.

 

 

🧹 배열 필터링 함수

✅ array_filter() – 조건에 맞는 요소만 필터링

$nums = [1, 2, 3, 4, 5];
$even = array_filter($nums, function($n) {
    return $n % 2 === 0;
});
print_r($even);
// 출력: [1 => 2, 3 => 4]
인덱스는 유지됨. 필요 시 array_values()로 재정렬 가능

 

✅ array_filter() – 기본 사용 (Falsy 제거)

$data = [0, 1, false, 2, '', null, 3];
$result = array_filter($data);
print_r($result);
// 출력: [1 => 1, 3 => 2, 6 => 3]
기본 콜백 없이 사용하면 false로 평가되는 값들을 자동 제거함

 

 

💡 실전 팁

  • array_filter()는 연관 배열에도 사용할 수 있음
  • in_array()와 array_search()는 값 기준,
    array_key_exists()는 키 기준으로 사용
  • 조건 필터링 후 배열의 순차 인덱스를 다시 매기려면
array_values(array_filter(...))

 

 

✅ 마무리

배열을 다루는 데 있어 필터링과 검색 기능은 데이터 정제, 유효성 검사, 검색 조건 처리 등에 핵심이 되는 기술입니다.

이번 글에서는 array_filter(), in_array(), array_search(), array_key_exists()의 차이점과 사용 예제를 정리해봤습니다.

 

#PHP, #배열, #배열검색, #배열필터링, #in_array, #array_search, #array_filter, #array_key_exists, #PHP기초, #웹개발

반응형