Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中运算符优先级的理解_Php - Fatal编程技术网

php中运算符优先级的理解

php中运算符优先级的理解,php,Php,下面是我用php编写的代码 $sale = 200; $sale = $sale - + 1; echo $sale; 我不明白为什么变量的输出是199。有人能帮我理解背后的逻辑吗 提前谢谢 + 1 是正整数1 因此,它被解释为: $sale = $sale - (+ 1); // === $sale = $sale - 1; 这是因为+1是一个有效的数字 所以你会: $sale = $sale - (+ 1); 和+1等于1 数字符号比和/减运算符+和-更重要,除了语法错误之外,还有什

下面是我用php编写的代码

$sale = 200;
$sale = $sale - + 1;
echo $sale;
我不明白为什么变量的输出是199。有人能帮我理解背后的逻辑吗

提前谢谢

+ 1
是正整数1

因此,它被解释为:

$sale = $sale - (+ 1);
// ===
$sale = $sale - 1;

这是因为+1是一个有效的数字

所以你会:

$sale = $sale - (+ 1);
和+1等于1


数字符号比和/减运算符+和-

更重要,除了语法错误之外,还有什么其他解释呢?@Wooble问得好……这不是PHP,这是基础的一年级数学。这个问题再一次指出PHP是了不起的。我知道通常没有人编写这样的代码。但我正在准备zend考试。这类问题都是在里面问的。谢谢@bwoebi,这类问题都是在zend认证考试中问的。我正在研究一系列这样的问题。@krunalshah我认为Zend证明了PHP的专有技术,而不是逻辑……是的,但在一些模拟文件中我发现了这样的问题。所以,我需要得到答案-不是第一个!Php将采用-和+,并且由于+首先出现,+将优先于-:答案可能是相同的,但您需要知道您的优先级!谢谢你,菲尔克罗斯。现在去拿东西。