상현에 하루하루
All 개발자의 하루

PHP 8.1: 배열 풀기

( 업데이트: )

PHP의 배열 해제는 PHP 7.4부터 포함되어 있었지만 제한사항이 있었습니다. 숫자 키가 있는 배열만 허용되는 것입니다. 그래서 아래 코드는 이미 가능했었습니다.

$arrayA = [1, 2, 3];
$arrayB = [4, 5];
$result = [0, ...$arrayA, ...$arrayB, 6, 7];
// [0, 1, 2, 3, 4, 5, 6, 7]

하지만 아래 코드는 PHP 8.1 이전 버전에서는 정상적으로 동작하지 않았죠

$arrayA = ['a' => 1];
$arrayB = ['b' => 2];
$result = ['a' => 0, ...$arrayA, ...$arrayB];
// ['a' => 1, 'b' => 2]

하지만 이제는 이렇게 작동합니다.

그런데 문자열 키를 사용한 배열의 해제가 작동하는 방식은 array_merge의 작동 방식과 정확히 동일합니다. 즉, 동일한 키를 가진 배열의 해제에 대해 새로 배울 것이 없습니다. 우리가 익숙한 것과 동일하게 작동합니다.