将整数除以X部分

时间:2017-07-22 03:52:05

标签: php

我需要在for循环中使用php将整数值分成x部分(动态)(注意:要分割的数字和分割值都是动态的)

例如:我有一个值127并将其分成2部分,它将是63和64。

$number = y; //for example is 127
$parts = x; //for example is 2


for($i=1;$i<$parts;$i++){
    //first iteration should output 63
    //second iteration should output 64 (the last iteration should be always higher is the $number is not divisible by $parts)
}

2 个答案:

答案 0 :(得分:0)

查看此示例。我使用modulo运算符。无论是偶数还是奇数,这都有效。你也可以将这一切包装在一个函数中。

$x = 127;
$a = 0;
$b = 0;

$a = floor($x/2);
$b = ($x % 2) + $a;

echo "A: " . $a . "| B: " . $b; //A: 63| B: 64

在函数中尝试。

    function remainders($x, $num) {
    $results = array();

    $firstOp = floor($x / $num);
    for($a = 1; $a <= $num; $a++) {
        if($a != $num) {
            $results[] = $firstOp;
        }
        else {
            if($x % 2 == 1) {
                $results[] = $firstOp + 1;
            }
            else {
                $results[] = $firstOp;
            }
        }
    }

    return $results;
}

然后你可以遍历返回的数组或做你想做的事。

$splitNum = remainders(183, 4); //split the number 183 in 4 parts.

foreach($splitNum as $var) { echo $var . ", "; }

答案 1 :(得分:0)

试试这个:

$number = 127; //for example is 127
$parts = 3; //for example is 3
$sep = ", ";

$n=floor($number/$parts);
for($i=1;$i<=$parts;$i++){    
    if ($i==$parts) {
        $n=$number-($n*($i-1));
        $sep="";
    } 
    echo $n.$sep;        
}