我计算一个部分中的元素数量,它是一个偶数,如34,我想将它们分成三个逻辑组,如:
我希望PHP代码在逻辑上创建三组项目,其中前两组可以包含相同数量的项目,其余的可以进入最后一组。 不会超过三套。
$whole_elements=33;
$group1 = ($whole_elements) / 3;
这种代码不起作用,因为它会返回带小数点的值。
答案 0 :(得分:0)
你应该将你的数字除以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
答案 1 :(得分:0)
$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