2016-07-12 6 views
1

Ich gehe durch Head First PHP und ich habe diesen Code-Schnipsel in PHP gefunden.Wie funktioniert dieses Bit Code?

Es soll jede Reihe von Datensätzen aus einer Tabelle mit first_name, last_name und e-Mail anzeigen.

while($row = mysqli_fetch_array($result)) 
{ 
    echo $row['first_name'] . ' ' . $row['last_name'] . 
    ' : ' . $row['email'] . '<br />'; 
} 

Die $row Array enthält die nächste Zeile von mysqli_fetch_array() erhalten. Aber wie ist das eine Bedingung, die von der While-Schleife überprüft werden soll? Was genau bewertet die while-Schleife als wahr/falsch, bevor der innere Code ausgeführt wird? Und warum genau stoppt die Schleife, wenn die Reihen erschöpft sind? Es gibt nicht einmal eine Bedingung, um nach einem EOF zu suchen! Wie genau funktioniert das?

+0

http://php.net/manual/en/mysqli-result.fetch-array.php und http://php.net/manual/en/control-structures.while.php. Geh und lerne. – aynber

+0

@aynber ** Keine dieser Ressourcen erklärt, wie die Verfügbarkeit von Daten als _True_ interpretiert wird, während eine Null als _False_ interpretiert wird. Das will ich wissen. –

Antwort

1

Mit Bezug auf die PHP Documenation, mysqli_fetch_array() "Gibt ein Array von Zeichenfolgen, die der abgerufenen Zeile entspricht oder NULL, wenn keine weiteren Zeilen in der Ergebnismenge sind." Wenn keine Ergebnisse mehr vorhanden sind, wird null zurückgegeben, was zu false führt und die Schleife beendet.

+0

So können wir sicher sagen, dass jeder Text/Inhalt immer zu "wahr" ausgewertet wird, während alles, das NULL-Wert enthält, immer zu "falsch" ausgewertet wird ..? oder ist das ein besonderer fall? –

+0

my_sqli_fetch_array() gibt ein Array von Strings zurück. Nicht leere Arrays werden als wahr ausgewertet. NULL wird immer als falsch ausgewertet. Unter http://php.net/manual/en/language.types.boolean.php erfahren Sie, welche Werte für verschiedene Typen als wahr/falsch ausgewertet werden. – amhokies

+0

Danke, das ist der Link, den ich brauchte. –

Verwandte Themen