如何在 PHP 中评估这一点

  • 本文关键字:评估 这一点 PHP php
  • 更新时间 :
  • 英文 :


在阅读一些关于PHP的问题时。我读了一个问题,它的答案如下:

下面代码的输出是什么,为什么?

$x = 5;
echo $x;
echo "<br />";
echo $x+++$x++;
echo "<br />";
echo $x;
echo "<br />";
echo $x---$x--;
echo "<br />";
echo $x;
Answer →
5
11
7
1
5

在这里,我对$x+++和$x---以及它的工作原理以及表达式$x+++$x++的确切计算方式感到困惑。谁能解释一下。还有为什么只是"echo $x+++"不起作用并给出错误。

Okey 让我们看看:

现在$x = 7

如果我们从这一行开始:echo $x---$x--;

那么会发生什么呢???

($x--) - ($x--) =>  7 - 6 = 1

第一个$x--对第一个值没有影响,但$x的值会少一个,如果我们在第二个值中$x--,那么我们得到的变量值较小,即6,所以现在 firs 值是 7,第二个值是 6, 因为如果第二个值变小,那么第二部分的值将小于一个,这将影响下一行:echo $x。所以最后一个值是 5 .

数据分析:

$x = 5;
echo $x;         // 5, Nothing changed.
echo "<br />";   
echo $x+++$x++;  // 5 + 6 = 11, increment of $x two times.
echo "<br />";
echo $x;         // 7, cause last increment.
echo "<br />";
echo $x---$x--;  // 7 - 6 = 1, decrements two times.
echo "<br />";
echo $x;         // 5, cause last decrements. 
echo $x+++$x++;

这工作为

echo ($x++)+($x++);

echo $x+++;是语法错误;增量你可以通过x++而不是x+++来执行。

首先,++是一个增量运算符。运算符+++不存在。

但是,在您的语法中,代码实际上是按如下方式读取的:

$x = 5;
echo $x;
echo "<br />";
echo ($x++) + ($x++); // 6 + 7 (increment $x by 1, makes it 6, then again to make it 7)
echo "<br />";
echo $x; // $x is 7 here
echo "<br />";
echo ($x--) - ($x--); // 6 - 5 (decrement $x by 1, makes it 6, then again makes it 5
echo "<br />";
echo $x; // $x is 5

尽管您似乎想执行 $x+2 而不是 $x++,但这仍按预期工作;

这是前/后递增/递减的概念。 如果我们使用后增量 MENAS首先 ($x++) 首先会发生什么,它会执行应用于该变量的表达式,然后将该变量的值递增 1,如下例所示。

 <?php
    $x = 5;
    echo $x++;
    echo "<br />";
    echo $x;
    ?>

输出

5

6

第二个是预增量,其中首先发生的事情是递增变量的值,然后执行适用于该变量的表达式,如下例所示。

<?php
    $x = 5;
    echo $x+++$x;
    echo "<br />";
    echo $x;
    ?>

输出

11

6

这里在预

递增中首先发生的事情,它会在$x中添加(+1) 然后执行表达式的值。 前/递减的工作原理相同有关递增/递减的更多信息

我希望这对你有帮助。

echo $x+++$x++;在这种情况下,方程变得像($x)+(++$x)++;其中 $x=5 并且按照前增量 ++$x变成 6 只是因为后递增在语句后生效,所以下一步中的 5+6=11回显"
";回声$x;11然后$x =7,因为职位增加回显"
";回声$x---$x--;这里和上面一样($x)-(--$x)--(7)-(6)--如果你回显$x那么它必须是它的初始值,即 5

$x = 5;
echo $x;
echo "<br />";
echo $x+++$x++;
echo "<br />";
echo $x;
echo "<br />";
echo $x---$x--;
echo "<br />";
echo $x;

结果:回声$x;= 5 回声 ($x++)+($x++);= 5 + 6 = 11 回声$x;= 7 对于使用的增量运算符回显$x---$x--;= 7 - 6 = 1//原因 递减运算符回波$x;= 5//最后递减

相关内容

最新更新