想要将随机整数分成相等五部分。并将这些值插入到数组中。任何人都可以告诉我这个逻辑。将任意整数分成相同五部分的逻辑
例如,我有15个作为我的号码。分割后。它应该如下生成数组。
$myArray = array('3','6','9','12','15');
在此先感谢。
想要将随机整数分成相等五部分。并将这些值插入到数组中。任何人都可以告诉我这个逻辑。将任意整数分成相同五部分的逻辑
例如,我有15个作为我的号码。分割后。它应该如下生成数组。
$myArray = array('3','6','9','12','15');
在此先感谢。
分而创建一个循环,以填补阵列...
$total = 15;
$divide = 5;
$base = $total/$divide;
$arr = array();
for($i = 1; $i <= $divide; $i++) {
$arr[] = round($i * $base);
}
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()
应用于每个元素以获得最接近的整数。
如果数字不是5的倍数,该怎么办? – axiac 2014-12-04 13:43:15
如果数字不能被5整除,比如说2呢? – 2014-12-04 13:43:52
它应该舍入这些值。 – Ni3 2014-12-04 13:44:55