>  기사  >  백엔드 개발  >  PHP 함수에 대한 실용적인 팁: array_chunk()

PHP 함수에 대한 실용적인 팁: array_chunk()

王林
王林원래의
2023-06-20 08:58:373812검색

PHP 언어의 배열은 여러 데이터를 저장하고 일괄 작업을 수행하는 데 사용할 수 있는 매우 실용적인 데이터 유형입니다. 그러나 더 나은 처리를 위해 큰 배열을 여러 개의 작은 배열로 분할해야 하는 경우도 있습니다. 이때 PHP 함수의 array_chunk()가 유용합니다. 이 기사에서는 array_chunk() 함수를 사용하여 배열 청크 작업을 수행하는 방법과 몇 가지 실용적인 팁을 공유합니다.

1. array_chunk() 함수 개요

array_chunk() 함수는 배열을 지정된 크기의 덩어리로 나누어 2차원 배열을 반환하는 함수입니다. 해당 기능은 다음과 같이 정의됩니다.

array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )

매개변수 설명:

  • $array: 필수, 배열을 청크로 분할합니다.
  • $size: 필수, 각 블록의 길이를 지정하는 정수입니다.
  • $preserve_keys: 선택 사항. 원래 배열의 키 이름을 유지할지 여부를 나타내는 부울 값입니다. 기본값은 false입니다. 즉, 유지되지 않습니다.

이 함수는 2차원 배열을 반환합니다. 여기서 각 하위 배열의 길이는 $size이고 마지막 하위 배열의 길이는 $size보다 작을 수 있습니다.

2. array_chunk() 함수의 예

array_chunk() 함수의 사용법을 더 잘 이해하기 위해 다음 예를 살펴볼 수 있습니다.

먼저 10개의 요소를 포함하는 배열을 정의합니다.

<?php
  $arr = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
?>

array_chunk() 함수를 사용하여 길이가 3인 작은 배열로 나눌 수 있습니다.

<?php
  $result = array_chunk($arr, 3);
  print_r($result);
?>

결과는 다음과 같습니다.

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => d
            [1] => e
            [2] => f
        )

    [2] => Array
        (
            [0] => g
            [1] => h
            [2] => i
        )

    [3] => Array
        (
            [0] => j
        )

)

보시다시피, 원래 배열은 길이가 3인 4개의 하위 배열로 나뉩니다. 원래 배열에는 요소가 하나만 남아 있으므로 마지막 하위 배열에는 요소가 하나만 있습니다.

3. array_chunk() 함수의 실용적인 팁

  1. Array paging

array_chunk() 함수를 사용하여 페이지당 데이터 항목 수를 각 블록의 길이로 지정하여 배열을 페이징할 수 있습니다. 이는 간단한 페이징 시스템을 만드는 데 매우 유용합니다. 예를 들어 총 50개의 데이터를 페이지당 10개로 나누어 5페이지에 표시할 수 있습니다.

<?php
  $arr = range(1,50);
  $pages = array_chunk($arr,10);
  print_r($pages);
?>

결과는 다음과 같습니다.

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 4
            [4] => 5
            [5] => 6
            [6] => 7
            [7] => 8
            [8] => 9
            [9] => 10
        )

    [1] => Array
        (
            [0] => 11
            [1] => 12
            [2] => 13
            [3] => 14
            [4] => 15
            [5] => 16
            [6] => 17
            [7] => 18
            [8] => 19
            [9] => 20
        )

    [2] => Array
        (
            [0] => 21
            [1] => 22
            [2] => 23
            [3] => 24
            [4] => 25
            [5] => 26
            [6] => 27
            [7] => 28
            [8] => 29
            [9] => 30
        )

    [3] => Array
        (
            [0] => 31
            [1] => 32
            [2] => 33
            [3] => 34
            [4] => 35
            [5] => 36
            [6] => 37
            [7] => 38
            [8] => 39
            [9] => 40
        )

    [4] => Array
        (
            [0] => 41
            [1] => 42
            [2] => 43
            [3] => 44
            [4] => 45
            [5] => 46
            [6] => 47
            [7] => 48
            [8] => 49
            [9] => 50
        )

)

각 하위 배열에는 각 페이지에 10개의 데이터가 포함된 것처럼 10개의 요소가 포함됩니다.

  1. 배열 분할

쉼표로 구분된 문자열이 있고 이를 배열로 분할하고 한 번에 10개의 요소를 분할하려고 한다고 가정해 보겠습니다. 이 작업은 array_chunk() 함수를 사용하여 수행할 수 있습니다.

<?php
  $str = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20";
  $arr = explode(',', $str);
  $result = array_chunk($arr, 10);
  print_r($result);
?>

결과는 다음과 같습니다:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 4
            [4] => 5
            [5] => 6
            [6] => 7
            [7] => 8
            [8] => 9
            [9] => 10
        )

    [1] => Array
        (
            [0] => 11
            [1] => 12
            [2] => 13
            [3] => 14
            [4] => 15
            [5] => 16
            [6] => 17
            [7] => 18
            [8] => 19
            [9] => 20
        )

)
  1. Array Random sorted

배열의 요소 순서를 혼란스럽게 하려면 먼저 array_chunk()를 사용하여 배열을 덩어리로 나눈 다음 요소를 뒤섞습니다. 마지막으로 블록의 모든 요소를 ​​함께 연결하여 무작위 순서를 완성합니다.

<?php
  $arr = range(1, 20);
  $chunk_arr = array_chunk($arr, 5);
  foreach ($chunk_arr as $key => &$value) {
    shuffle($value);
  }
  $result = call_user_func_array('array_merge', $chunk_arr);
  print_r($result);
?>

결과는 다음과 같습니다.

Array
(
    [0] => 1
    [1] => 4
    [2] => 2
    [3] => 3
    [4] => 5
    [5] => 9
    [6] => 10
    [7] => 7
    [8] => 6
    [9] => 8
    [10] => 11
    [11] => 12
    [12] => 14
    [13] => 13
    [14] => 16
    [15] => 15
    [16] => 17
    [17] => 20
    [18] => 19
    [19] => 18
)

먼저 원본 배열을 길이가 5인 4개의 하위 배열로 나눈 다음 각 하위 배열의 내부를 섞고 마지막으로 array_merge() 함수를 사용하여 모두 병합했습니다. 하위 어레이를 Together에 추가하면 원래 어레이의 순서가 중단됩니다.

4. 요약

array_chunk() 함수는 PHP 언어에서 매우 실용적인 함수로, 큰 배열을 여러 개의 작은 배열로 나눌 수 있어 논리적 처리에 큰 편의를 제공합니다. 이 글에서는 array_chunk() 함수의 기능과 사용법을 소개하고, 배열 청크에 대한 몇 가지 실용적인 팁을 공유합니다. 이 글이 PHP 언어를 배우는 분들에게 도움이 되기를 바랍니다.

위 내용은 PHP 함수에 대한 실용적인 팁: array_chunk()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.