정의 및 사용 방법
- PHP 버전
- 4+
array_keys()
함수는
주어진 배열에서 키(keys)만 추출하여 새로운 배열로 반환합니다.
이 함수는 특히 연관 배열로 만들어진 설정, 옵션 등 웹 개발에서 중요한 항목(key)들의 목록을 다룰 때 유용합니다.
특징
- 전체 키를 모두 가져올 수도 있고,
- 필터 옵션을 적용해서 특정 값과 일치하는 키만 선택적으로 추출할 수도 있습니다
- 연관 배열이 아닌 인덱스 배열(Indexed array)에서는 키로 인덱스(정수)를 반환합니다.
- 키가 존재하지 않으면 빈 배열을 반환합니다.
- 원본 배열은 그대로 유지됩니다.
기본 예제
/** 연관 배열 **/
$assoc = ['name' => 'Alice', 'age' => 25];
// 전체 키 목록 가져오기
$keys = array_keys($assoc);
var_dump($keys); // 출력: array(2) { [0]=> string(4) "name" [1]=> string(3) "age" }
// 필터 옵션 적용: 특정 값과 일치하는 키만 가져오기
$keys_filtered = array_keys($assoc, 25);
var_dump($keys_filtered); // 출력: array(1) { [0]=> string(3) "age" }
/** 인덱스 배열 **/
$indexed = ['apple', 'banana', 'cherry'];
$keys_indexed = array_keys($indexed);
var_dump($keys_indexed); // 출력: array(3) { [0]=> int(0) [1]=> int(1) [2]=> int(2) }
// 주의: array_keys()는 원본 배열을 변경하지 않습니다.
구문
array_keys(array $array): array
array_keys(array $array, mixed $filter_value, bool $strict = false): array
매개변수
$array |
키(keys)를 추출할 배열입니다. |
---|---|
$filter_value |
옵션. 지정된 값과 일치하는 키(keys)만을 필터링하기 위한 값입니다.
이 매개변수를 생략하면 배열의 모든 키를 반환합니다. |
$strict |
옵션. $filter_value 변수의 값이 데이터 타입까지 일치할지 여부(true , false )를 지정합니다.
만약에 $strict 변수를
|
반환 값
배열의 모든 키(keys)를 배열로 추출하여 반환합니다.
필터를 지정할 경우 지정된 값과 일치하는 키(keys)만 추출하여 배열로 반환합니다. 키가 존재하지 않으면 빈 배열을 반환합니다.
활용 예제
array_keys()
함수의 유용한 활용 예제입니다.
웹사이트 설정 항목 목록 가져오기
이 예제는 웹사이트의 설정 파일에서 중요한 항목(키)들을 가져와서 목록으로 출력하는 상황을 보여줍니다.
// 웹사이트의 중요한 설정 항목들을 담고 있는 연관 배열
$site_settings = [
'site_name' => '내 멋진 웹사이트',
'admin_email' => 'admin@example.com',
'debug_mode' => true,
'posts_per_page' => 10
];
// array_keys() 함수를 사용해 설정 항목(키)들의 목록을 가져옵니다.
$setting_keys = array_keys($site_settings);
echo "<h2>웹사이트 설정 항목 목록</h2>";
echo "<ul>";
foreach ($setting_keys as $key) {
echo "<li>" . $key . "</li>";
}
echo "</ul>";
위 코드에 대한 결과를 HTML로 나타내면 다음과 같습니다.
<h2>웹사이트 설정 항목 목록</h2>
<ul>
<li>site_name</li>
<li>admin_email</li>
<li>debug_mode</li>
<li>posts_per_page</li>
</ul>
이 예제에서 array_keys()
함수는 $site_settings
배열의 키(key)들인 site_name
, admin_email
등을 추출하여 $setting_keys
라는 새로운 배열로 만들었습니다. 이렇게 얻은 키 목록은 설정 항목들을 동적으로 다루거나, 사용자에게 설정 가능한 항목들을 보여주는 UI를 만들 때 매우 유용합니다.
array_keys()
함수를 사용하지 않고도 대부분의 작업을 foreach()
반복문으로 처리할 수 있지만, array_keys()
함수는 키 목록을 추출하는 데 특히 유용하며, 작업의 목적 및 편의성에 따라 선택해야 합니다.
같이 보기
- PHP foreach() 반복문 사용법 및 활용 예제
- PHP 배열 키가 있는지 확인하는 array_key_exists() 함수
- PHP array_map() 함수 – 개념 정리 및 사용 예제
- PHP array_filter() 함수 – 개념 정리 및 사용 예제
- PHP array_search() 함수 – 개념 정리 및 사용 예제
- PHP 배열 값이 있는지 확인하는 in_array() 함수
- PHP array_values() 함수 – 배열 값 목록 가져오기
- PHP array_slice() 함수 - 개념 정리 및 사용 예제
- PHP in_array() 함수 – 배열에 특정 값이 있는지 확인