PHP:将奇数分成三组

时间:2015-05-11 04:52:23

标签: php

我计算一个部分中的元素数量,它是一个偶数,如34,我想将它们分成三个逻辑组,如:

  • 第1组:1至12(12项)
  • 第2组:13-24(12项)
  • 第3组:25-34(10项)

我希望PHP代码在逻辑上创建三组项目,其中前两组可以包含相同数量的项目,其余的可以进入最后一组。 不会超过三套。

$whole_elements=33;
$group1 = ($whole_elements) / 3;

这种代码不起作用,因为它会返回带小数点的值。

2 个答案:

答案 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