-3

200 ~ 7000 の値で構成される配列があります。定義された値に基づいて、この配列を小さなチャンクに分割したいと思います。

例えば:

配列には 1731 個の値があり、各配列に50 個の値しかない小さな配列に分割したいと考えています。

これはどのように行われますか?私が立ち往生している部分は、それを 50 個の値に分解することです。

前もって感謝します。

4

3 に答える 3

5

https://www.php.net/array_chunk

array_chunk($array, 50) は、各値が $array からそれぞれ 50 個の値を持つ配列である配列を返します。

//make an array with numbers from 1 to 500
$array = range(1, 500);
//break that array up into chunks of 50.
$newArray = array_chunk($array, 50);
//display the new array
var_dump($newArray);

例: http://codepad.viper-7.com/JNzSWO

于 2012-09-01T03:11:29.853 に答える
0

配列チャンク関数を使用します。

配列を大きいサイズのチャンクにチャンクします。最後のチャンクには、サイズ未満の要素が含まれる場合があります。

使用法:

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

例:

入力:

<?php
    $input_array = array('a', 'b', 'c', 'd', 'e');
    print_r(array_chunk($input_array, 2));
    print_r(array_chunk($input_array, 2, true));
?>

出力:

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

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

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

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

したがって、array名前付きの がある$a場合は、次を使用します。

$components = array_chunk($a, 50, true);
于 2012-09-01T03:16:03.853 に答える
0

array_chunk()を使用する

例えば:

$array = range(1, 1731);
if(count($array) => 200 || count($array) <= 7000)){
    $split = array_chunk($input_array, 50, true);
} else {
    $split = $array;
}
var_export($split);

$split初期配列のカウンターが 200 を超え 7000 未満の場合、約 35 の配列があります。

于 2012-09-01T03:16:22.013 に答える