簡體   English   中英

將一個數組切成其他4個數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM