Rumah > pembangunan bahagian belakang > tutorial php > while循环中条件表达式疑惑

while循环中条件表达式疑惑

WBOY
Lepaskan: 2016-08-04 09:22:18
asal
2016 orang telah melayarinya

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

</code>
Salin selepas log masuk
Salin selepas log masuk
<code class="php">输出结果
bool(true)
string(3) "BBB"</code>
Salin selepas log masuk
Salin selepas log masuk
<code>
-------------------------------------------------------------

在写一个后台监听程序的时候使用了while循环,于是纠结了一下`while`中的条件表达式</code>
Salin selepas log masuk
Salin selepas log masuk
  1. 针对上面的代码我预想的是输出AAA BBB 但是为何是是true BBB

  2. 看这段代码

    <code>while($ret = 100) {
        var_dump($ret) // output:100
    }</code>
    Salin selepas log masuk
    Salin selepas log masuk

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

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

回复内容:

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

</code>
Salin selepas log masuk
Salin selepas log masuk
<code class="php">输出结果
bool(true)
string(3) "BBB"</code>
Salin selepas log masuk
Salin selepas log masuk
<code>
-------------------------------------------------------------

在写一个后台监听程序的时候使用了while循环,于是纠结了一下`while`中的条件表达式</code>
Salin selepas log masuk
Salin selepas log masuk
  1. 针对上面的代码我预想的是输出AAA BBB 但是为何是是true BBB

  2. 看这段代码

    <code>while($ret = 100) {
        var_dump($ret) // output:100
    }</code>
    Salin selepas log masuk
    Salin selepas log masuk

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

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

<code>if (($i = 'AAA') && ($j = 'BBB')) {
    var_dump($i, $j);
}
</code>
Salin selepas log masuk

注意 && 优先级

运算符逻辑问题,价格括号就欧克了

<code class="php">while (($i = 'AAA') && ( $j = 'BBB')) {


    var_dump($i, $j);// true bbbbb
    sleep(3);
}</code>
Salin selepas log masuk

  1. 逗号运算符导致输出bbb, V=1,2此时,v为2
    2.死循环,。 转换成boolea可以 ret = ret && true

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan