您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 昭通分类信息网,免费分类信息发布

while循环中条件表达式疑惑

2024/2/29 23:57:59发布27次查看
while ($i = 'aaa' && $j = 'bbb') { var_dump($i, $j); sleep(3);}

输出结果bool(true)string(3) bbb

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

针对上面的代码我预想的是输出aaa bbb 但是为何是是true bbb
看这段代码
while($ret = 100) { var_dump($ret) // output:100}

在这里括号里的条件表达式$ret=100是怎样得出结果为true或者是false的。 我想的是先把100这个值赋值给$ret变量,然后在对$ret进行布尔值转换取结果。
希望大家帮忙解惑。谢谢了。
回复内容: while ($i = 'aaa' && $j = 'bbb') { var_dump($i, $j); sleep(3);}

输出结果bool(true)string(3) bbb

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

针对上面的代码我预想的是输出aaa bbb 但是为何是是true bbb
看这段代码
while($ret = 100) { var_dump($ret) // output:100}

在这里括号里的条件表达式$ret=100是怎样得出结果为true或者是false的。 我想的是先把100这个值赋值给$ret变量,然后在对$ret进行布尔值转换取结果。
希望大家帮忙解惑。谢谢了。
if (($i = 'aaa') && ($j = 'bbb')) { var_dump($i, $j);}
注意 && 优先级
运算符逻辑问题,价格括号就欧克了
while (($i = 'aaa') && ( $j = 'bbb')) { var_dump($i, $j);// true bbbbb sleep(3);}
逗号运算符导致输出bbb, v=1,2此时,v为2
2.死循环,。 转换成boolea可以 ret = ret && true
昭通分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录