Foreach-Schleife vs while-Schleife Ergebnisse
Ich habe ein bisschen dilemma, In PHP die beiden foreach-Schleife und while-Schleife zu machen scheinen genau das gleiche in dieser situation:
foreach($execute->result as $item){
echo $item['user_pass'].'<br />';
}
UND
while($row = mysqli_fetch_assoc($execute->result)){
echo $row['user_pass'].'<br />';
}
Meine Frage ist, gibt es echte Unterschiede...? wenn der besser wäre die Verwendung einer über dem anderen oder ist es gut, beide zu verwenden....? Kennt einer von diese zwei geben Sie potenziellen größer felxebility...?
- Nicht sicher, ich habe immer mit einer while-Schleife, die für die Datenbank wählt
- Ich glaube nicht, dass diese Frage ist ein Duplikat der eine gepostet, aber.
- Eigentlich hast du in gewisser Weise Recht. Mehr wie ein Duplikat von stackoverflow.com/questions/3304885/..., die Sie erwähnen
(Traversable)
deine Antwort. Wenn OP will es wieder geöffnet, er/Sie kann die Entscheidung anfechten. - es ist mehr ähnlich, aber ich denke, es hat noch einige Einzigartigkeit, denn es spricht eine bestimmte Klasse.
- Sie Durchlaufen jede Sammlung mit
while
, aber es bedeutet nicht, sollten Sie es tun. Ich würde immer lieberforeach
für die Sammlungen und diewhile
loops für etwas anderes - Gibt es eigentlich einen Unterschied zwischen den beiden, wird man fetch Ergebnisse bis nichts anderes gefunden wird, während die andere es tun, so lange die Schleife dauert. Das ist das doppelte ich war auf der Suche, das wurde vorher gefragt. Ich wird erneut die Frage. Wenn es wird wieder geschlossen, danach werde ich haben keine Kontrolle über Sie.
- Diese Frage sollte so etwas wie "Foreach-Schleife vs while-Schleife auf das abrufen mysqli-Ergebnisse". Der wesentliche Punkt ist hier das Verhalten von mysqli (zusammen mit while und foreach -) das ist kaum in der Frage genannten
- stimmt, aber "die Schleife dauert", bis es gibt keine Ergebnisse mehr, wenn ich bin nicht falsch! In der Praxis würde ich sagen, das Verhalten ist im Grunde gleichwertig.
- Wahr. Ich finde der eigentliche post für Sie. Am besten Punkt der
i
's und bar dieT
's 😉 Edit: Hier ist eine stackoverflow.com/questions/2590792/... die viel besser geeignet gewesen wären als der betrogene. - wow Jungs, meine Frage ist wie Verhalten sich diese loops in der gegebenen situation...situation, die der Schlüssel ward hier und meine Frage vielleicht ähnliche für andere, sondern ist einzigartig in einer Weise. Aber danke Jungs für den Versuch einer Antwort auf meine Frage 🙂
- Das ist der Grund, warum ich erneut die Frage. Ich hoffe, die Antwort/Kommentare haben Euch gut gedient.
- 🙂 danke @Fred-ii - yep Lesen einigen sinnvoll Vorschläge.
- Du bist herzlich willkommen @Tomazi cheers
Du musst angemeldet sein, um einen Kommentar abzugeben.
In diesem Fall sind Sie genau entspricht. Die
mysqli_result
implementiert dieTraversable
- Schnittstelle (wie hier beschrieben: http://www.php.net/mysqli_result ), so kann es sein, iteriert über eineforeach
Schleife sowie.Ich nehme an, dass intern die Berufung
foreach
auf einemysqli_result
- Objekt führt die Aufrufemysqli_fetch_assoc
als gut.Ich glaube nicht, dass es einen Unterschied macht, die erste Methode verwenden, oder die zweite, aber die erste sieht schöner und "PHP5" zu mir!
Apropos Flexibilität: der erste ist sicherlich flexibler als gut, wie Sie können diesen code mit jedem Objekt implementiert
Traversable
und nicht nurmysqli_result
.Fand ich dies:
für vs vs foreach, während die schneller zum schrittweisen Durchlaufen von arrays in php
die Antwort besagt, dass ein Unterschied in der Geschwindigkeit ist so minimal, dass es kaum Themen, die Sie verwenden. Ich würde sagen die Schnellste Schleife, da Energieeffizienz immer wichtiger wird. Selbst wenn Ihr je auf die richtige Schleife Sie zu verletzen Ihre Benutzer in dann am Ende auf längeren Ladezeiten. eine Sekunde, eine Sekunde. Machen Sie Tage und Monate schließlich.
Ich wie mit foreach-Schleifen Durchlaufen zurückgegebenen Informationen, da habe ich Zugang zu den Schlüsseln und Werten, was praktisch sein kann, je nach Bedarf verwenden.
Ich denke, es hängt davon ab, welche Werte Sie benötigen, wie viel Kontrolle Sie brauchen, und wo Sie es brauchen.
while
undeach