PHP有趣的题目,关于运算符优先级

作者: 小小奶狗 | 来源:发表于2018-03-27 15:01 被阅读9次
<?php 
$a = 3;
$b = 4;

if (($a=5) && ($b=6)) {
    $a+=1;
    $b+=1;
}

echo $a;
echo "<br>";
echo $b;

输出$a=6;$b=7。赋值永远为条件真,除非赋值为0。

<?php 
$a = 3;
$b = 4;

if (($a=0) && ($b=6)) {
    $a+=1;
    $b+=1;
}

echo $a;
echo "<br>";
echo $b;

输出$a=0;$b=4。不执行逻辑与后的内容。

<?php 
$a = 3;
$b = 4;

if ($a=5 && ($b=6)) {
    $a+=1;
    $b+=1;
}

echo $a;
echo "<br>";
echo $b;

输出$a=2;$b=7。先执行5 && true == true(1);赋值运算符优先级最低。

<?php 
$a = 3;
$b = 4;

if ($a=5 && $b=6) {
    $a+=1;
    $b+=1;
}

echo $a;
echo "<br>";
echo $b;

输出$a=2;$b=7。特殊情况,同上(&&后面的内容为最小执行单位)。

<?php 
$a = 3;
$b = 4;

if ($a=5 && $b=6) {
    $a++;
    $b++;
}

echo $a;
echo "<br>";
echo $b;

输出$a=1;$b=7。重点!$a++ != $a+=1;,当$a为true时,$a++依然为true(1);不参与数学运算。echo一个true时会输出1,但实际上最终结果应该是$a=true;$b=7;

<?php 
$a = 3;
$b = 4;

if ($a=5 || $b=6) {
    $a++;
    $b++;
}

echo $a;
echo "<br>";
echo $b;

输出$a=1;$b=5。5为这true不执行$b=6,所以$a=1;$b=5

<?php 
$a = 3;
$b = 4;

if ($a=0 || $b=6) {
    $a++;
    $b++;
}

echo $a;
echo "<br>";
echo $b;

输出$a=1;$b=7。除0以外的赋值均为true,0赋值相当于false,执行$b=6,所以$a=1;$b=7

相关文章

  • PHP有趣的题目,关于运算符优先级

    输出$a=6;$b=7。赋值永远为条件真,除非赋值为0。 输出$a=0;$b=4。不执行逻辑与后的内容。 输出$a...

  • PHP-运算符

    php的运算符的错误控制@运算符的优先级比较运算符递增/递减运算符逻辑运算符 php支持一个错误运算符:@当将其放...

  • 2021-04-16

    关于:前序、中序、后序表达式 优先级:每个运算符都有一个优先级,高优先级的运算符优先低优先级的运算符; 唯一能够改...

  • 运算符的优先级

    PHP算数运算符的优先级: 递增/递减> ! > 算数运算符 > 大小比较 > (不)相等比较 > 引用 > 位运...

  • php运算符

    算数运算符 递增/递减运算符 比较运算符 逻辑运算符 三元运算符 组合比较符(PHP7+) 位运算符 运算符优先级

  • 运算符和优先级

    运算符优先级 题:foo() 和@foo() 的区别? 考点: 运算符中的错误控制符@的使用和作用; 所有PHP运...

  • PHP运算符

    PHP 算数运算符 PHP 赋值运算符 PHP 字符串运算符 PHP 递增递减运算符 PHP 比较运算符 PHP ...

  • JS笔记8:运算符及优先级

    1. 运算符 2. 运算符优先级 优先级运算符优先级 口诀括号一, //括号运算符[] ()单目二;...

  • python条件控制语句

    运算符优先级 运算符优先级 运算符优先级从上往下逐渐变低**指数 (最高优先级)~ + -按位翻转, 一元加号和减...

  • 运算符优先级和结合性

    运算符优先级和结合性 运算符的优先级使得一些运算符优于其他运算符,高优先级的运算符会被先计算。 结合性定义了具有相...

网友评论

    本文标题:PHP有趣的题目,关于运算符优先级

    本文链接:https://www.haomeiwen.com/subject/aitfcftx.html