我指望的部分元素的數量,它是一個偶數像34,我想將它們分成三個邏輯組,如:PHP:分割奇數分成三組
- 組1:1至12(12項)
- 第2組:13-24(12項)
- 組3:25-34(10項)
我想要的PHP代碼邏輯上創建三組項目前兩套可以容納相同數量的物品,其餘的可以放入最後一套。 不會超過三套。
$whole_elements=33;
$group1 = ($whole_elements)/3;
這種代碼是行不通的,因爲它會返回帶小數點的值。
我指望的部分元素的數量,它是一個偶數像34,我想將它們分成三個邏輯組,如:PHP:分割奇數分成三組
我想要的PHP代碼邏輯上創建三組項目前兩套可以容納相同數量的物品,其餘的可以放入最後一套。 不會超過三套。
$whole_elements=33;
$group1 = ($whole_elements)/3;
這種代碼是行不通的,因爲它會返回帶小數點的值。
你應該除以3的號碼,輪結果獲得前2個號碼,然後。減去2個第一號形成總得到最後一個:
<?php
$whole_elements=34;
$group1 = $group2 = round($whole_elements/3);
$group3 = $whole_elements - ($group1*2);
?>
然後獲得「團體」被切原數組的問題:
<?php
$group1_array = array_slice($original_array, 0, $group1);
$group2_array = array_slice($original_array, $group1, $group1);
$group3_array = array_slice($original_array, -$group3);
?>
事實上,使用這種方法,你就不需要確定$group2
在代碼的第一位,因爲它是一樣$group1
$whole_elements = 34;
$third = ceil($whole_elements/3);
$group1 = $group2 = $third;
$group3 = $whole_elements - 2*$third;
echo 'one: ' . $group1 . '<br/>two: ' . $group2 . '<br/>three: ' . $group3;
之一:12
二:12
三:10
發生了什麼事'21'?不應該是'21-30',那麼下一個應該是'31-33'? – Ghost
它還是有些不可思議,如果你打算十的削減它,然後它不應該是'1-10,11-20,21-30,31-33'所以總而言之4組。 group3應該是'21-30(10項)' – Ghost
如果'whole_elements'是25呢?你想要10 + 10 + 5或8 + 8 + 9或9 + 9 + 7?順便說一句,對downvoters,我認爲這是一個有趣的問題,但非常制定 – Capsule