[英]Slice an array into 4 other arrays
我有一個要切成其他4個數組的數組,因為我想在四個列上顯示第一個數組的內容。
我已經嘗試了上面的代碼,但是我得到的是N列,其中包含4個項目。
$groups = array();
for ($i = 0; $i < count($menu); $i += 4) $groups[] = array_slice($menu, $i, 4);
可以修改此值以獲得確切的4列並分配值以使其適合嗎?
就像Michael Berkowski所建議的那樣:
$groups = array_chunk($menu,4);
應該給你你所需要的。 如果您更喜歡“體力勞動” :
$groups = array();
while($groups[] = array_splice($menu,0,4))
{//no need for any code here ^^ chunks the array just fine
printf('This loop will run another %d times<br/>',(int)ceil(count($menu)/4));
}
更新:
我看這有點錯...想要分成4個數組,而不是四個數組:
$groups = array_chunk($menu,(int)ceil(count($menu)/4));
你可以試試
// Some Random array
$array = range(1, 20);
// Split it 4 Chuncks
$array = array_chunk($array, 4);
// Slice The first 4 Chunks
$array = array_slice($array, 0, 4);
// Output Result
foreach ( $array as $set ) {
printf("<li>%s</li>", implode(",", $set));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.