美文网首页PHP经验分享PHP 开发技术分享
PHP 在 if 条件判断中使用赋值表达式的注意事项

PHP 在 if 条件判断中使用赋值表达式的注意事项

作者: phpworkerman | 来源:发表于2021-09-04 12:05 被阅读0次

示例代码

先上一段示例代码,你能快速的得出运算结果吗?

<?php
$a = 1;
$b = 2;

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

echo 'a=' . $a . ' and ' . 'b='. $b;

让我们看下这段代码的执行逻辑:

1、在这里 if 条件判断中使用了逻辑或运算符,符号两边的表达式会依顺序被转换为布尔类型进行判断
2、变量 $a 被成功赋值 3,在判断时转换为布尔值 true,$a++ 递增运算对于布尔值相当于 (int)boolean,变量会被重新赋值 1
3、变量 $b 因为前一个表达式已满足条件,而没有进行布尔值转换,所以 $b 的赋值保持不变

通过上边的执行逻辑后,运行结果就是 a=1 and b=6


再来看另一段代码

<?php
$a = 1;

if ($a = 2)  {
    $a++;
}

echo 'a=' . $a;

让我们看下这段代码的执行逻辑:

1、$a 被成功赋值 2
2、if 条件判断 $a 的值是否符合布尔值 true,注意这里并没有进行布尔值强制转换

当转换为 boolean 时,以下值被认为是 false:

通过上边的执行逻辑后,运行结果就是 a=3

结论

实际开发中,尽量不要在 if 条件判断中直接使用赋值运算,多写一行变量赋值的代码,代码清晰也不容易出错。

相关文章

  • PHP 在 if 条件判断中使用赋值表达式的注意事项

    示例代码 先上一段示例代码,你能快速的得出运算结果吗? 让我们看下这段代码的执行逻辑: 1、在这里 if 条件判断...

  • 八月十八号

    在PHP中,while循环语句如下: 首先判断某个条件是...

  • 05 | 程序结构

    条件判断 条件表达式结果必须是布尔值 支持变量赋值 常用场景 switch case 表达式不限制为常量或整数 c...

  • Kotlin学习笔记之 3

    3.条件控制 if 表达式kotlin中可以更加简便的使用 if语句进行赋值var i = if(a > b) 1...

  • 08. 条件控制

    IF 表达式作为表达式赋值 输入结果 使用区间做判断 使用 in 运算符来检测某个数字是否在指定区间内 输出结果 ...

  • 2019-01-17 把点转换为LatLng

    参数类型的判断:object、数组、某个类的实例、是否为空 对象属性的判断:是否包含某个属性,在条件表达式中的使用

  • JS逻辑

    条件判断语句 语法1:if(条件判断语句){语句} if语句在执行时,会先对条件表达式进行求值判断,如果条件表达式...

  • 史上最全的循环结构语句

    @TOC while 循环 使用方法:先判断,在执行;当条件表达式成立时,则执行循环体,然后在进行判断,如果条件...

  • 从0到1学习网络安全 【PHP基础-变量】

    PHP 变量 实例: 类似代数: 在题中我们使用字母(如:a),并给它赋值( 如:1)。从表达式 c=a+b , ...

  • Sass 条件语句

    本节我们来学习 Sass 中的条件语句,可以使用 @if 指令来判断条件表达式的值,然后控制输出。Sass 中的 ...

网友评论

    本文标题:PHP 在 if 条件判断中使用赋值表达式的注意事项

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