jeder. Ich habe heute ein PHP while
Loop-Beispiel gesehen, das ich nicht ganz verstehe.Benötigen Sie Hilfe, ein Beispiel PHP zu verstehen, während
Beispiel (Complete code)
// Open XML file
$fp=fopen("note.xml","r");
// Read data
while ($data=fread($fp,4096)) { // Line about which I have questions
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
Der Ausdruck $data=fread($fp,4096)
innerhalb der Schleife while
Klammern scheint nicht, überhaupt zu verändern. Es ist nur eine Zuweisungsanweisung. Wie endet diese Schleife? Die Funktion xml_parse($parser,$data,feof($fp))
endet möglicherweise, wenn das Parsing abgeschlossen ist, aber ich sehe nicht, wie sich dies auf die Testbedingung für die while
-Schleife auswirkt. Ich denke, das Parsen der XML-Datei würde sich unendlich wiederholen.
Auch wenn Zuweisungsausdruck als Testbedingung für eine Schleife gibt, werden wir uns wirklich nur, wenn die RIGHT Seite der Zuweisung Erträge ob TRUE
oder FALSE
zu sehen, um zu bestimmen, um die Schleife zu beenden? Ich habe jedoch Zweifel darüber, denn dann würde es eine Endlosschleife für dieses Beispiel erzeugen, da $data
, einmal zugewiesen, immer TRUE
zurückgeben wird.
Dank
Wenn fread das Ende der Datei erreicht, gibt es null an $ data zurück und es wird false, so dass die while-Schleife stoppt – SIDU