Gibt es eine Möglichkeit, eine array_walk
aus der anonymen Funktion zu stoppen?Break array_walk von anonymer Funktion
Hier ist ein Beispielcode (der funktioniert) zu zeigen, was ich meine, die überprüft, ob ein Array nur numerische Werte hat.
$valid = true;
array_walk($parent, function ($value) use (&$valid) {
if (!is_numeric($value)) {
$valid = false;
}
});
return $valid ? 'Valid' : 'Invalid';
Wenn ich groß genug Array haben, und der erste Eintrag ungültig ist, der Rest der (redundant) Kontrollen noch zu tun, so würde Ich mag die Hinrichtung stoppen.
Die Verwendung von break
/continue
funktioniert nicht (Fehler: Fatal error: Cannot break/continue 1 level in ...
).
Hinweis: Ich habe nicht den Code neu schreiben will, ich will nur wissen, IF dies möglich ist.
Sie * konnte * werfen, dann fangen, eine Ausnahme. Natürlich ist es falsch, aber es ist möglich. –
Nicht direkt möglich, aber wo genau zeichnen Sie die Linie für das Umschreiben des Codes? (Die 'Exception'-Lösung hört sich an, als würde sie funktionieren, aber ich würde eher eine einfache 'foreach' als das tun). – Jon
@Jon: Nun, ich war neugierig, ob es für solche Funktionen möglich war. Ich möchte nicht 'for' /' foreach' verwenden, das ist es (meistens eine theoretische Frage :)). Anthony, du solltest das als Antwort posten. –