2014-12-04 53 views
1

想要将随机整数分成相等五部分。并将这些值插入到数组中。任何人都可以告诉我这个逻辑。将任意整数分成相同五部分的逻辑

例如,我有15个作为我的号码。分割后。它应该如下生成数组。

$myArray = array('3','6','9','12','15'); 

在此先感谢。

+0

如果数字不是5的倍数,该怎么办? – axiac 2014-12-04 13:43:15

+0

如果数字不能被5整除,比如说2呢? – 2014-12-04 13:43:52

+0

它应该舍入这些值。 – Ni3 2014-12-04 13:44:55

回答

1

分而创建一个循环,以填补阵列...

$total = 15; 
$divide = 5; 

$base = $total/$divide; 

$arr = array(); 
for($i = 1; $i <= $divide; $i++) { 
    $arr[] = round($i * $base); 
} 
3
function getParts($number, $parts) 
{ 
    return array_map('round', array_slice(range(0, $number, $number/$parts), 1)); 
} 

print_r(getParts(15, 5)); 

说明:range()生成开始0,当它到达$number结束值的阵列,并使用步骤$number/$parts 。它会得到$parts+1浮点数。 array_slice()删除第一项(始终为0)。 array_map()将函数round()应用于每个元素以获得最接近的整数。