Heim > Backend-Entwicklung > PHP-Tutorial > Fragen zu bedingten Ausdrücken in der While-Schleife

Fragen zu bedingten Ausdrücken in der While-Schleife

WBOY
Freigeben: 2016-08-04 09:22:18
Original
2024 Leute haben es durchsucht

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

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

在写一个后台监听程序的时候使用了while循环,于是纠结了一下`while`中的条件表达式</code>
Nach dem Login kopieren
Nach dem Login kopieren
  1. Für den obigen Code habe ich erwartet, dass AAA BBB ausgegeben wird, aber warum ist es wahr? BBB

  2. Sehen Sie sich diesen Code an

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

    Wie ergibt der bedingte Ausdruck $ret=100 in Klammern hier true oder false? Ich möchte zunächst den Wert von 100 der Variablen $ret zuweisen und dann eine boolesche Konvertierung für $ret durchführen, um das Ergebnis zu erhalten.

    Ich hoffe, dass jeder helfen kann, die Verwirrung zu beseitigen. Danke schön.

Antwortinhalt:

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

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

在写一个后台监听程序的时候使用了while循环,于是纠结了一下`while`中的条件表达式</code>
Nach dem Login kopieren
Nach dem Login kopieren
  1. Für den obigen Code habe ich erwartet, dass AAA BBB ausgegeben wird, aber warum ist es wahr? BBB

  2. Sehen Sie sich diesen Code an

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

    Wie ergibt der bedingte Ausdruck $ret=100 in Klammern hier true oder false? Ich möchte zunächst den Wert von 100 der Variablen $ret zuweisen und dann eine boolesche Konvertierung für $ret durchführen, um das Ergebnis zu erhalten.

    Ich hoffe, dass jeder helfen kann, die Verwirrung zu beseitigen. Danke schön.

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

Hinweis &&Priorität

Problem mit der Bedienerlogik, Preisklassen sind falsch

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


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

  1. Der Kommaoperator bewirkt die Ausgabe bbb, V=1,2. Zu diesem Zeitpunkt ist v 2
    Eine Endlosschleife. Konvertieren Sie in Boolea durch ret = ret && true

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage