Array_Chunk 함수는 큰 배열을 여러 개의 작은 배열로 분할하는 데 사용됩니다. 각 작은 배열의 크기는 지정된 크기입니다. 이 기능의 기본 구문은 다음과 같습니다.
array_chunk(array $array, int $size, bool $preserve_keys = false): array
매개 변수 설명 :
$ 배열 : 분할 해야하는 원래 배열.
$ 크기 : 각 작은 배열의 크기.
$ preserve_keys : 원래 배열의 키 이름을 유지할지 여부에 관계없이 기본값은 False , 즉 인덱스가 재설정됩니다.
기능:
Array_Chunk는 원래 배열을 지정된 크기로 자릅니다. $ size가 2로 설정되면 원래 배열은 두 개의 요소를 포함하는 여러 개의 작은 배열로 분할됩니다. 마지막 배열 의 크기 미만인 경우 나머지 요소가 포함됩니다.
예:
<?php
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$chunkedArray = array_chunk($array, 3);
print_r($chunkedArray);
?>
산출:
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[1] => Array
(
[0] => 4
[1] => 5
[2] => 6
)
[2] => Array
(
[0] => 7
[1] => 8
[2] => 9
)
)
해당 시나리오 :
Array_Chunk 는 대형 배열이 Pagination 디스플레이, 배치 처리 작업 등과 같은 여러 개의 작은 배열로 나누는 장면에 적합합니다.
Array_Slice 함수는 배열에서 부품을 추출하는 데 사용됩니다. Array_Chunk 와 달리 Array_Slice를 사용하면 원래 배열의 어느 곳에서나 시작하여 취할 요소 수를 지정할 수 있습니다. 기본 구문은 다음과 같습니다.
array_slice(array $array, int $offset, int $length = NULL, bool $preserve_keys = false): array
매개 변수 설명 :
$ 배열 : 원래 배열.
$ 오프셋 : 절단을 시작할 인덱스 위치. 음수 인 경우 카운트는 배열 끝에서 시작됩니다.
$ 길이 : 절단 할 요소 수. 지정되지 않으면 기본값은 $ 오프셋 에서 배열 끝까지입니다.
$ preserve_keys : 원래 배열의 키 이름을 보존할지 여부.
기능:
Array_Slice는 배열의 지정된 위치에서 시작하여 특정 수의 요소를 가로 채며 새 배열을 반환합니다. Array_Slice는 원래 배열을 변경하지 않고 새 배열을 반환합니다.
예:
<?php
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
$slicedArray = array_slice($array, 3, 4);
print_r($slicedArray);
?>
산출:
Array
(
[0] => 4
[1] => 5
[2] => 6
[3] => 7
)
해당 시나리오 :
Array_Slice는 특정 기간의 레코드를 가로 채기, 페이지 매김 쿼리 등과 같은 원래 배열에서 특정 부품을 추출 해야하는 시나리오에 적합합니다.
절단 방법 :
Array_Chunk는 배열을 고정 크기로 분할하고 여러 배열을 포함하는 2 차원 배열을 반환하는 것입니다.
Array_Slice는 배열에서 지정된 세그먼트를 가로 채고 원래 배열을 변경하지 않고 새 배열을 반환합니다.
반품 결과 :
array_chunk는 작은 배열을 포함하는 배열 (2 차원 배열)을 반환합니다.
Array_Slice는 단일 배열 (서브 어레이)을 반환합니다.
해당 시나리오 :
Array_Chunk는 특히 페이징 또는 배치 처리가 필요할 때 큰 배열을 크기별로 여러 부품으로 나누는 데 더 적합합니다.
Array_Slice는 특히 특정 인덱스 범위를 추출해야 할 때 배열에서 부품을 추출하는 데 더 적합합니다.
대형 배열을 동일한 크기의 여러 서브 배달로 분할 해야하는 경우 array_chunk를 선택하십시오.
배열에서 데이터의 일부만 추출 해야하는 경우 Array_Slice를 사용할 수 있습니다.
이 두 기능에는 PHP에 고유 한 사용 시나리오가 있습니다. 그들의 차이를 이해하면 배열 작업을보다 효율적으로 처리하는 데 도움이 될 수 있습니다.