我有这段代码:
public function divideNbPlay($nb_play){
if($nb_play % 400 !== 0){
$nb_play = divideNbPlay($nb_play % 400);
}
return $nb_play;
}
我想得到其余的分区,例如,如果我有
nb_play = 590, I want to return 190
nb_play = 806, I want to return 6
....
答案 0 :(得分:3)
无需在函数内使用divideNbPlay
函数。 Modulus
运算符返回除数的余数。
function divideNbPlay($nb_play){
$nb_play = $nb_play % 400;
return $nb_play;
}
$nb_play = 806;
echo divideNbPlay($nb_play);
答案 1 :(得分:1)
你不需要所有的答案。
function divideNbPlay($nb_play){
return $nb_play % 400;
}
答案 2 :(得分:0)
您不需要递归来获得所需的结果。这是输出结果的解决方案:
<?php
function divNum($num) {
return $num%400;
}
echo divNum(590);
?>
答案 3 :(得分:0)
当你真的,真的,真的希望有一个递归解决方案时,你不应该使用%运算符,而是使用减号运算符。
你需要做的是从$ nb_play中递归减去400,直到余数低于400.你可以返回剩余的值。
示例代码(未测试):
public function divideNbPlay($nb_play){
$nb_play = $nb_play - 400;
if($nb_play > 400){
divideNbPlay($nb_play);
} else {
return $nb_play;
}
}