php中的后增量和前增量简单方程

php中的后增量和前增量简单方程,php,Php,我有一个等式: <?php $i=5; $i += $i++ + ++$i; echo $i; 有人能告诉我$i+=6+1=7是怎么回事吗 对不起,我的英语不好。 提前谢谢 $i=5; $i += $i++ + ++$i; => $i = $i(7(because of $i++ increment)) + ($i++(6) + ++$i(6)) echo $i(19); 希望这能解释 希望这能解释清楚。该代码的工作方式尚未定义。从: 运算符优先级和关联性仅决定表达式的分组方式

我有一个等式:

<?php
$i=5;
$i += $i++ + ++$i;
echo $i;
有人能告诉我$i+=6+1=7是怎么回事吗

对不起,我的英语不好。 提前谢谢

$i=5;
$i += $i++ + ++$i;  => $i = $i(7(because of $i++ increment)) + ($i++(6) + ++$i(6))
echo $i(19);
希望这能解释


希望这能解释清楚。

该代码的工作方式尚未定义。从:

运算符优先级和关联性仅决定表达式的分组方式,而不指定计算顺序。在一般情况下,PHP不会指定表达式的求值顺序,应该避免使用假定特定求值顺序的代码,因为行为可能会在不同版本的PHP之间发生变化,或者取决于周围的代码

示例2未定义的评估顺序
除其他外,如果先计算+运算符的右侧或左侧,则未定义。因此,代码的确切结果也未定义。

该代码的工作未定义。从:

$i=5; 
$i += $i++ + ++$i;  => $i = 5($i++) + 7(++$i) +7($i); echo $i(19);

    =>$i += $i++  +  ++$i;
    => 7  = 5 +7 ;
运算符优先级和关联性仅决定表达式的分组方式,而不指定计算顺序。在一般情况下,PHP不会指定表达式的求值顺序,应该避免使用假定特定求值顺序的代码,因为行为可能会在不同版本的PHP之间发生变化,或者取决于周围的代码

示例2未定义的评估顺序 除其他外,如果先计算+运算符的右侧或左侧,则未定义。因此,代码的确切结果也未定义

$i=5; 
$i += $i++ + ++$i;  => $i = 5($i++) + 7(++$i) +7($i); echo $i(19);

    =>$i += $i++  +  ++$i;
    => 7  = 5 +7 ;
首先,它从右侧运行。第一个i值将保持为5,然后是增量后的值,变成6,当您添加+++$i时,由于增量前的原因,它将变成7。在最后一个i值将被添加,它已经变成7


首先,它从右侧运行。第一个i值将保持为5,然后是增量后的值,变成6,当您添加+++$i时,由于增量前的原因,它将变成7。最后一个i值将被添加,该值已变为7

@Pratik OP将在有人发布答案时收到通知。所以没必要发表评论。@Rizier123好的,谢谢。你认为写得糟糕吗code@Pratik如果有人发布答案,OP将收到通知。所以不需要发表评论。@Rizier123好的,谢谢。你觉得写糟糕的代码怎么样
$i=5; 
$i += $i++ + ++$i;  => $i = 5($i++) + 7(++$i) +7($i); echo $i(19);

    =>$i += $i++  +  ++$i;
    => 7  = 5 +7 ;