dedlfix: Rückgabewert von Methoden

Beitrag lesen

Tach!

$STH->fetch() gibt ja "false" zurück, wenn keine Daten vorhanden sind.

Anderenfalls gibt es einen Wert zurück, der nicht zu false konvertiert.

if(($row = $STH->fetch()) !== false) {

Deswegen ist der typsichere Vergleich auch nicht notwendig.

Ist daher so etwas richtig? Oder würdet ihr es anders lösen?

Für welche Aufgabenstellung denn? Wie soll denn mit den zurückgegebenen Werten umgegangen werden?

Was wäre die beste Lösung wenn ich mehrere Zeilen auslese möchte?

Ein Array zurückgeben oder seit PHP 5.5 einen Generator.

Oder gibt es eine bessere Lösung?

Eine noch bessere als die beste? Es gibt ja sowieso keine "beste", ohne den Anwendungsfall zu betrachten.

Oft frage ich mich auch, was ich danach mache wenn ich mit den Daten weiterarbeiten möchte. Es bleibt mir eigentlich keine andere Möglichkeit als jedesmal if(!empty()) zu prüfen oder?

Wenn du ein Array oder einen Generator (oder auch Iterator) zurückgibst, hört das foreach von selbst auf, wenn alle Daten abgearbeitet sind.

dedlfix.