현재 위치: > 최신 기사 목록> array_slice에서 Key Name 보존에 대한 Preserve_keys 매개 변수의 효과

array_slice에서 Key Name 보존에 대한 Preserve_keys 매개 변수의 효과

gitbox 2025-05-28

PHP에서 Array_Slice 함수는 배열의 지정된 부분을 가로채는 매우 실용적인 도구입니다. 기능 서명은 다음과 같습니다.

 array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array

그중에서도 $ preserve_keys 매개 변수는 원래 배열의 키 이름을 유지할지 여부를 제어하는 ​​데 사용됩니다. 이 매개 변수의 기능은 간단 해 보이지만 실제로 사용하면 많은 사람들이 실제로 키 이름을 유지하는지 의문을 가지고 있습니다. 이 기사는 $ preserve_keys 매개 변수의 동작을 자세히 설명하고 코드 예제와 함께 설명합니다.

$ preserve_keys 매개 변수의 함수

Array_Slice는 Array $ 배열 에서 데이터 조각을 가로 채겠습니다. 기본적으로 (즉, $ preserve_keysfalse ), 반환 된 배열은 다시 표시됩니다. 즉, 키 이름은 0부터 시작하는 숫자 색인으로 재설정됩니다.

$ preserve_keys가 true 로 설정되면 함수는 원래 배열의 키 이름을 유지하려고합니다. 키 이름의 의미를 보존하기 때문에 연관 배열을 다룰 때 매우 중요합니다.

샘플 코드 분석

코드를 사용하여 다음을 설명합시다.

 <?php
$array = [
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry',
    5   => 'date',
    6   => 'elderberry',
];

// 기본 동작 preserve_keys = false
$slice1 = array_slice($array, 1, 3);
print_r($slice1);

/*
산출:
Array
(
    [0] => banana
    [1] => cherry
    [2] => date
)
*/

// preserve_keys = true
$slice2 = array_slice($array, 1, 3, true);
print_r($slice2);

/*
산출:
Array
(
    [b] => banana
    [c] => cherry
    [5] => date
)
*/
?>

위의 코드에서 다음을 볼 수 있습니다.

  • $ preserve_keys가 false 일 때, 반환 된 배열 키 이름은 숫자 인덱스 (0, 1, 2)로 재설정됩니다.

  • $ preserve_keystrue 일 때, 반환 배열은 원래 키 이름 'b' , 'c'5를 유지합니다.

주목해야 할 것

  • 배열이 인덱스 배열 (숫자 키)이고 $ preserve_keysfalse 인 경우 리턴 된 배열 키 이름이 재 배열됩니다.

  • 연관 배열 (문자열 키) 인 경우 $ preserve_keys가 false 인 경우에도 키 이름은 숫자 인덱스로 대체되어 키 이름이 손실됩니다.

  • $ preserve_keystrue 일 때, 반환 된 배열 키 이름은 동일하게 유지되지만 후속 작업 에이 배열을 사용하는 경우 키 이름의 무결성에주의를 기울여야합니다.

추가 보충제

공식 매뉴얼의 Array_Slice 설명 : https://gitbox.net/manual/en/function.array-slice.php

도메인 이름은 여기에서 gitbox.net 으로 대체되며 자세한 내용은 방문 할 수 있습니다.