我有一個由200-7000個值之間的任意值組成的數組。我想根據定義的值將這個數組分割成更小的塊。將數組拆分成定義值的較小部分
例如:
陣列具有1731倍的值,我要分解成與每個陣列僅具有每值較小的陣列。
這是如何完成的?我堅持的部分是將其分解爲每個50個值。
預先感謝您。
我有一個由200-7000個值之間的任意值組成的數組。我想根據定義的值將這個數組分割成更小的塊。將數組拆分成定義值的較小部分
例如:
陣列具有1731倍的值,我要分解成與每個陣列僅具有每值較小的陣列。
這是如何完成的?我堅持的部分是將其分解爲每個50個值。
預先感謝您。
https://www.php.net/array_chunk
array_chunk($陣列,50)返回與每個值是與從$陣列,每個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);
使用陣列塊功能:
結塊的陣列劃分成大小爲大塊。最後一個塊可能包含小於大小的元素。
用法:
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);
如:
$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
將有大約35陣列如果初始數組的計數器超過200,並在7000
是的,我知道這是用array_chunk完成的,但我不確定如何將它分解爲每個值50個值。 – nick
通過將'50'作爲函數的第二個參數。您是否閱讀過文檔?它清楚地表明瞭這一點 – meagar
@nick現在有一個例子。 –