Php 更改变量后如何保存变量的编号

Php 更改变量后如何保存变量的编号,php,Php,我试图在更改变量后保存变量的编号,以下是我的代码: while($user_choice = fgets(STDIN)) { $nbrMatches = -15; $one = -1; $two = -2; $three = -3; if ($user_choice == 1) { echo $one - $nbrMatches . PHP_EOL; echo $nbrMatches . " remaining." .

我试图在更改变量后保存变量的编号,以下是我的代码:

while($user_choice = fgets(STDIN)) {
    $nbrMatches = -15;

    $one = -1;
    $two = -2;
    $three = -3;

    if ($user_choice == 1) {
        echo $one - $nbrMatches . PHP_EOL;
        echo $nbrMatches . " remaining." . PHP_EOL;
    }

    else if ($user_choice == 2) {
        echo $two - $nbrMatches . PHP_EOL;
        echo $nbrMatches . " remaining." . PHP_EOL;
    }

    else if ($user_choice == 3) {
        echo $three - $nbrMatches . PHP_EOL;
        echo $nbrMatches . " remaining." . PHP_EOL;
    }   
}
上面的代码没有保存变量的编号,它只是输出数学结果。每次$user\u choice减去一个数字时,我都要保存它,它显示如下:

Margaret@PC $ 1
1
14 remaining.
Margaret@PC $ 3
3
11 remaining.
它将显示以下内容:

Margaret@PC $ 1
1
14 remaining.
Margaret@PC $ 3
3
12 remaining.

我假设当你说save时,你的意思是在循环期间保持。您当前的问题是在每个循环的开始处将15重新分配给$NBRMATES变量,这样每次都会有效地重置它

这里的解决方案是在while循环之前定义$nbrmatchs,然后用每个选项更新它

大概是这样的:

$nbrMatches = 15;

while($user_choice = fgets(STDIN)) {
    $one = 1;
    $two = 2;
    $three = 3;

    if ($user_choice == 1) {
        $nbrMatches -= $one;
        echo $one . PHP_EOL;
        echo $nbrMatches . " remaining." . PHP_EOL;
    }

    else if ($user_choice == 2) {
        $nbrMatches -= $two;
        echo $two . PHP_EOL;
        echo $nbrMatches . " remaining." . PHP_EOL;
    }

    else if ($user_choice == 3) {
        $nbrMatches -= $three;
        echo $three . PHP_EOL;
        echo $nbrMatches . " remaining." . PHP_EOL;
    }   
}
当然,您可以直接使用用户输入,而不是所有这些变量。例如:

$nbrMatches = 15;

while($user_choice = fgets(STDIN)) {
    $nbrMatches -= $user_choice;
    echo $user_choice . PHP_EOL;
    echo $nbrMatches . " remaining." . PHP_EOL;
}

@洛克:怎么样?请解释$1=-1;,您可以将其保存在此处: