我无法理解php如何评估此代码

时间:2015-07-26 00:43:50

标签: php

我在某个地方遇到了这部分代码,我不明白这两个操作如何评估为3

avconv -i iosvideo.mov -c:v libx264 -b:v 1250k -vf scale=trunc(oh*a/2)*2:480,transpose=1 -metadata:s:v:0 rotate=0 -t 20 -c:a libvo_aacenc -b:a 192k output.mp4

发生了什么事?我错过了什么?

1 个答案:

答案 0 :(得分:4)

很多时候PHP manual也有这个答案:

  

运算符优先级和关联性仅确定表达式的分组方式,它们不指定评估顺序。 PHP不会(在一般情况下)指定评估表达式的顺序,并且应该避免采用特定评估顺序的代码,因为行为可以在PHP版本之间更改,或者取决于周围的代码。

  

示例#2未定义的评估顺序

<?php

    $a = 1;
    echo $a + $a++; // may print either 2 or 3

    $i = 1;
    $array[$i] = $i++; // may set either index 1 or 2

因为你可以看到,由于未指定订单,可能会有人先获得2而不是3。这就是它的全部内容。