php - while循环中条件表达式疑惑

查看:115
本文介绍了php - while循环中条件表达式疑惑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

while ($i = 'AAA' && $j = 'BBB') {
    var_dump($i, $j);
    sleep(3);
}

输出结果
bool(true)
string(3) "BBB"


-------------------------------------------------------------

在写一个后台监听程序的时候使用了while循环,于是纠结了一下`while`中的条件表达式

  1. 针对上面的代码我预想的是输出AAA BBB 但是为何是是true BBB

  2. 看这段代码

    while($ret = 100) {
        var_dump($ret) // output:100
    }

    在这里括号里的条件表达式$ret=100是怎样得出结果为true或者是false的。 我想的是先把100这个值赋值给$ret变量,然后在对$ret进行布尔值转换取结果。

    希望大家帮忙解惑。谢谢了。

解决方案

if (($i = 'AAA') && ($j = 'BBB')) {
    var_dump($i, $j);
}

注意 && 优先级

这篇关于php - while循环中条件表达式疑惑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆