TIL PHP 7/6/2022

엽토군·2022년 7월 6일
1

TIL

목록 보기
4/13

배열의 키의 케이스를 일괄 변경

array_change_key_case()라는 내장함수가 존재한다. 공식문서

$input_array = array("FirSt" => 1, "SecOnd" => 4);
$output_array = array_change_key_case($input_array, CASE_UPPER));
// ['FIRST' => 1, 'SECOND' => 4]

아니 물론 PHP는 있을만한 건 없고 없을만한 건 있기로 유명한 언어지만 아무리 그래도 그렇지 이런건 왜 따로 있는걸까??? 이유야 여러 가지 있겠지만 오늘 겪은 케이스를 공유 드리자면... 요청헤더 처리할 때 도움이 된다.

각 헤더 필드는 이름 뒤에 콜론(":")과 필드 값으로 구성됩니다. 필드 이름은 대소문자를 구분합니다. 출처

그렇다면, 요청헤더를 배열로 처리할 경우, 키 부분을 전부 소문자화하든지 대문자화할 필요가 있는 것이다. 그래서 어제 올라온 PR에 그런 의견을 적었고, 오늘 보니 이렇게 대응이 돼 있었다.

// header 는 대소문자를 가리지 않아 소문자로 일괄 변경
$header = array_change_key_case($header, CASE_LOWER);

이렇게 오늘도 하나 배운 바가 있어 글로 남긴다. 정말 대단하다 PHP!

profile
4년차 PHP 개발자입니다.

0개의 댓글