/ / Mysqli_fetch_array funktioniert nicht für forearch loop - php, mysqli, fetch

Mysqli_fetch_array funktioniert nicht für forearch loop - php, mysqli, fetch

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 № 1

Sie 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 ist false und die Schleife bricht ab.

Info über while-Schleife und foreach-Schleife