Ich versuche, Daten abzurufen und über anzuzeigenforeach loop, aber es funktioniert nicht mit Argumenten, aber wenn ich das mit while-Schleife versuche, funktioniert es gut. Meine Frage ist also, warum ich keine Daten mit abrufen kann mysqli_fetch_array
mit foreach warum es nur mit möglich ist while loop
// While
while($row = mysqli_fetch_row($result))
{
var_dump($row); echo "<hr />";
}
// Foreach
foreach(mysqli_fetch_array($result) as $row)
{
var_dump($row); echo "<hr />";
}
Antworten:
1 für die Antwort № 1Sie können foreach nicht direkt für mysqli_fetch_array verwenden. Foreach ist eine Schleife, die ein existierendes Array verwendet, um jedes seiner Elemente zu durchlaufen
Sie können wie unten verwenden
$result = array();
while($row = mysqli_fetch_array($result)) {
$result[] = $row;
}
foreach($result as $row) {
var_dump($row);
echo "<hr />";
}
0 für die Antwort № 2
weil mysqli_fetch_array
wie kommt es aus seinem Namen - ruft eine Zeile Ihres Ergebnisses als Array ab.
Damit, foreach(mysqli_fetch_array($result) as $row)
meint
Holen Sie sich eine Zeile und iterieren Sie über diese Zeile.
Während while($row = mysqli_fetch_row($result))
meint
Holen Sie Zeilen, bis es nichts zu holen gibt. Und wenn es nichts zu holen gibt
while
-bedingung istfalse
und die Schleife bricht ab.
Info über while
-Schleife und foreach
-Schleife