我觉得问这个问题有点愚蠢,但我无法弄清楚这个代码挑战。我必须初始化一个值为 1 的数字。然后我必须将这个数字加倍,直到它高于 1000。之后它会减半,直到再次达到 1,反之亦然。
这就是我到目前为止所拥有的。显然,它不起作用,因为一旦超过1000并减半,它就会满足再次翻倍的要求。我觉得自己很愚蠢,因为没有看到解决方案。任何帮助将不胜感激。
session_start();
$getal = 1;
if(isset($_SESSION['getal'])){
if($_SESSION['getal'] <= 1000){
$_SESSION['getal'] *= 2;
}elseif ($_SESSION['getal'] > 1000){
$_SESSION['getal'] *= 0.5;
}
}
else{
$_SESSION['getal'] = $getal;
}
最佳答案
您需要在 session 中保持“方向”。
将乘数保持为 2,直到达到值 1000。 然后,将倍数更改为 0.5,直到达到值 1(或小于 2)。
session_start();
$getal = 1;
if (isset($_SESSION['getal'])) {
if ($_SESSION['mult'] > 1 && $_SESSION['getal'] >= 1000) {
$_SESSION['mult'] = .5;
}
elseif ($_SESSION['getal'] < 2) {
$_SESSION['mult'] = 2;
}
$_SESSION['getal'] *= $_SESSION['mult'];
}
else{
$_SESSION['getal'] = $getal;
$_SESSION['mult'] = 2;
}
关于php - 如何解决这个数字加倍和减半的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65763265/