현재 위치: > 최신 기사 목록> Array_Slice 및 Array_chunk의 조합 사용

Array_Slice 및 Array_chunk의 조합 사용

gitbox 2025-05-26

php에서 array_chunkarray_slice 는 매우 실용적인 배열 처리 기능입니다. 이들은 각각 강력하고 사용과 결합하면 특히 큰 배열을 그룹화하고 그룹화 결과를 더 잘라야 할 때 배열 데이터의 유연한 작동을 크게 향상시킬 수 있습니다.

1. array_chunkarray_slice를 이해하십시오

  • array_chunk
    이 함수는 큰 배열을 여러 개의 작은 배열로 나누는 데 사용되며 각 작은 배열은 고정 된 길이 (마지막은 불충분 할 수 있음)를 가지며 형식은 다음과 같습니다.

     array_chunk(array $array, int $length, bool $preserve_keys = false): array
    

    예를 들어:

     $arr = [1, 2, 3, 4, 5, 6, 7];
    $chunks = array_chunk($arr, 3);
    // $chunks = [[1,2,3],[4,5,6],[7]]
    
  • array_slice
    이 함수는 배열에서 하위 배열을 추출하고 시작 오프셋 및 길이를 지정하는 지원을 지원하며 원래 키를 유지할지 여부를 선택할 수도 있습니다. 형식은 다음과 같습니다.

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

    예를 들어:

     $arr = [1, 2, 3, 4, 5];
    $slice = array_slice($arr, 1, 3);
    // $slice = [2, 3, 4]
    

2. 두 가지를 결합하는 응용 시나리오

우리가 매우 큰 배열을 가지고 있는데, 먼저 작은 배열로 그룹화 한 다음 각 작은 배열에서 일부 요소를 추출해야한다고 가정합니다. 이 시점에서 먼저 Array_Chunk를 사용하여 그룹화 한 다음 Array_Slice를 사용하여 슬라이스를 사용할 수 있습니다.

3. 구체적인 예

 <?php
// a가 있다고 가정 해 봅시다30요소 배열
$data = range(1, 30);

// 먼저 배열을 안으로 나눕니다5요소 세트
$groups = array_chunk($data, 5);

// 각 그룹의 번호를 가져 가십시오2도착하다4강요(색인1도착하다3)
$result = [];
foreach ($groups as $group) {
    $slice = array_slice($group, 1, 3);
    $result[] = $slice;
}

// 출력 결과
print_r($result);
?>

출력 결과 :

 Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 3
            [2] => 4
        )

    [1] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )

    [2] => Array
        (
            [0] => 12
            [1] => 13
            [2] => 14
        )

    [3] => Array
        (
            [0] => 17
            [1] => 18
            [2] => 19
        )

    [4] => Array
        (
            [0] => 22
            [1] => 23
            [2] => 24
        )

    [5] => Array
        (
            [0] => 27
            [1] => 28
            [2] => 29
        )
)

4. 배열 그룹화에서 Array_Slice 의 장점

  • 그룹 내 요소 선택 : 먼저 Array_Chunk를 사용하여 그룹을 생성 한 다음 Array_Slice를 사용하여 필요에 따라 서브 세트를 선택하면 각 그룹에서 관심있는 일부 데이터를 유연하게 선택할 수 있습니다.

  • 다층 루프 복잡성을 피하십시오 : 그룹화 된 데이터에 대한 보조 필터링 요구 사항이있는 경우 직접 중첩 된 루프 값보다 간결하고 직관적입니다.

  • 페이징 효과와 결합 : 데이터 페이징이 필요하고 페이지 당 고정 된 수의 항목이있는 경우 Array_Chunk + Array_Slice는 복잡한 페이징 규칙을 함께 달성 할 수 있습니다.

5. 사용 URL 설명

프로그램에서 인터페이스 또는 요청 주소를 사용하려면 도메인 이름을 gitbox.net 으로 바꿔야하는 경우 다음과 같이 쓸 수 있습니다.

 $url = "https://gitbox.net/api/v1/data";
$response = file_get_contents($url);

이를 통해 액세스 된 모든 URL이 gitbox.net을 가리켜 통합 관리 및 유지 보수를 용이하게합니다.