현재 위치: > 최신 기사 목록> Array_Chunk를 사용하여 배열을 무작위로 청크하는 방법

Array_Chunk를 사용하여 배열을 무작위로 청크하는 방법

M66 2025-04-26

PHP 프로그래밍에서 많은 양의 데이터를 처리 할 때 배열을 여러 부품으로 나누어 처리를 용이하게하는 것이 종종 필요합니다. PHP는 배열을 여러 개의 작은 배열 청크로 분할 할 수있는 매우 실용적인 기능 Array_Chunk를 제공합니다. 오늘날 우리는이 기능을 사용하여 데이터를 더 나은 프로세스 데이터, 특히 데이터를 여러 부분으로 무작위로 나누기 위해 후속 처리를 용이하게하는 방법에 대해 논의 할 것입니다.

array_chunk 함수는 무엇입니까?

Array_Chunk 는 PHP에서 매우 간단하지만 강력한 배열 작동 기능입니다. 기본 기능은 배열을 여러 개의 작은 배열로 나누는 것이며 각 작은 배열의 요소 수는 지정한 크기입니다. 함수는 다음과 같이 정의됩니다.

 array array_chunk ( array $array , int $size [, bool $preserve_keys = FALSE ] )
  • $ 배열 : 분할 해야하는 배열.

  • $ size : 각 작은 배열이 포함 된 최대 요소 수.

  • $ preserve_keys : 원래 배열의 키 이름을 유지할지 여부, 기본값은 False , 즉 Reindex입니다.

Array_Chunk를 사용하여 배열을 여러 조각으로 무작위로 나누는 방법은 무엇입니까?

기본적으로 Array_Chunk는 배열을 순서대로 덩어리로 자르는 것입니다. 배열의 요소가 다른 블록에 무작위로 분산되기를 원한다면 먼저 배열을 엉망으로 만든 다음 Array_Chunk를 사용하여 배열을 분할 할 수 있습니다. 이것은 각 블록의 데이터가 무작위임을 보장합니다.

다음은 Array_ChunkShuffle을 사용 하여이 요구 사항을 달성하는 방법을 보여주는 간단한 예제 코드입니다.

 <?php
// 배열을 만듭니다
$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

// 배열을 방해합니다,배열 요소의 순서가 무작위인지 확인하십시오
shuffle($array);

// 각 블록의 크기를 설정하십시오
$chunk_size = 3;

// 엉망진창 배열을 여러 조각으로 나눕니다
$chunks = array_chunk($array, $chunk_size);

// 출력 분할 배열 블록
echo '<pre>';
print_r($chunks);
echo '</pre>';
?>

이 예에서 먼저 Shuffle () 함수를 사용하여 배열 $ 배열 의 순서를 무작위로 방해 한 다음 Array_Chunk를 사용하여 블록 당 최대 3 개의 요소가 포함 된 작은 배열로 나눕니다. 출력은 다음과 같이 임의의 청크 일 수 있습니다.

 Array
(
    [0] => Array
        (
            [0] => 7
            [1] => 5
            [2] => 2
        )

    [1] => Array
        (
            [0] => 1
            [1] => 10
            [2] => 8
        )

    [2] => Array
        (
            [0] => 9
            [1] => 6
            [2] => 4
        )

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

이러한 방식으로 배열의 요소는 여러 개의 작은 배열로 무작위로 분산됩니다.

왜 배열을 무작위로 청크하고 싶습니까?

  1. 로드 밸런싱 : 때로는 각 처리 장치의 데이터 양이 거의 동일 할 수 있도록 여러 처리 장치에 데이터를 할당해야 할 수도 있습니다. 데이터 항목의 처리 시간이 상대적으로 평균 인 경우, 임의 할당은 일부 처리 장치가 과부하되는 것을 방지 할 수 있습니다.

  2. 데이터 무작위 배정 : 머신 러닝에서는 종종 데이터 세트를 교육 세트 및 테스트 세트로 무작위로 나눌 필요가 있습니다. 임의의 청킹은 원래 배열의 순서로 인해 교육 세트 및 테스트 세트의 데이터가 편향되지 않도록하여 모델 교육의 공정성을 보장합니다.

  3. 메모리 풋 프린트 감소 : 배열이 매우 크면 청킹을하면 각 데이터 블록의 메모리 사용량을 줄일 수 있으며, 이는 분산 처리 또는 처리에 편리합니다.

요약

array_chunk셔플 함수를 사용하면 배열을 여러 블록으로 쉽게 나눌 수 있습니다. 이러한 방법은 기존의 데이터 처리에 적합 할뿐만 아니라로드 밸런싱 및 데이터 무작위 화와 같은 시나리오에서 널리 사용될 수 있습니다.

기사와 관련이없는 부분 :

PHP 개발에서 무작위 데이터의 응용 시나리오는 매우 광범위합니다. Array_Chunk를 사용하여 배열을 분할하는 것 외에도 셔플은 종종 데이터를 무작위로 정렬하는 데 사용됩니다. 사용자 데이터를 처리하든로드 밸런싱이든, 이러한 기본 배열 작동 기술을 이해하고 마스터하면보다 효율적으로 개발하는 데 도움이됩니다.

보다 정확한로드 밸런싱 알고리즘 또는 고급 데이터 세분화 기술과 같은보다 복잡한 기능이 필요한 경우 다른 PHP 내장 기능을 사용하거나보다 효율적인 알고리즘을 직접 구현하십시오.