>백엔드 개발 >PHP 튜토리얼 >while 루프의 조건식에 대한 질문

while 루프의 조건식에 대한 질문

WBOY
WBOY원래의
2016-08-04 09:22:182018검색

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

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

在写一个后台监听程序的时候使用了while循环,于是纠结了一下`while`中的条件表达式</code>
  1. 위 코드에서는 AAA BBB가 출력될 것으로 예상했는데 왜 BBB가 나오나요

  2. 이 코드를 보세요

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

    여기서 괄호 안의 조건식 $ret=100이 어떻게 true 또는 false이 됩니까? 내가 원하는 것은 먼저 100 값을 $ret 변수에 할당한 다음 $ret에 대해 부울 변환을 수행하여 결과를 얻는 것입니다.

    모든 사람이 혼란을 해소하는 데 도움이 되기를 바랍니다. 감사합니다.

답글 내용:

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

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

在写一个后台监听程序的时候使用了while循环,于是纠结了一下`while`中的条件表达式</code>
  1. 위 코드에서는 AAA BBB가 출력될 것으로 예상했는데 왜 BBB가 나오나요

  2. 이 코드를 보세요

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

    여기서 괄호 안의 조건식 $ret=100이 어떻게 true 또는 false이 됩니까? 내가 원하는 것은 먼저 100 값을 $ret 변수에 할당한 다음 $ret에 대해 부울 변환을 수행하여 결과를 얻는 것입니다.

    모두가 혼란을 해결하는 데 도움을 줄 수 있기를 바랍니다. 감사합니다.

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

참고&&우선순위

연산자 논리 문제, 가격 괄호가 잘못됨

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


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

  1. 쉼표 연산자는 bbb, V=1,2를 출력합니다. 이때 v는 2
    2입니다. ret = ret && true

를 사용하여 부울레아로 변환
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.