Nein, es gibt kein Kurzschluss in der PHP-Standardbibliothek. Es gibt eine beliebige Anzahl von Nicht-Kurzschlusslösungen, unter denen array_reduce
wahrscheinlich am besten passt:
Es kann sich lohnen, eigene some
/ any
/ all
-Funktionen zu implementieren oder eine Bibliothek zu verwenden, die eine Sammlung von funktionalen Programmiergrundelementen wie diesem bereitstellt, z. Ссылка .
Es gibt array_filter (), das eine Teilmenge des gegebenen Arrays basierend auf dem Rückgabewert des gegebenen Callbacks zurückgibt. Wenn die Teilmenge leer ist, entspricht sie Some () und gibt false zurück. Wenn sie nicht leer ist, stimmt Some () mit true überein.
%Vor%Dieser Ansatz schließt jedoch nicht kurz und die Leistung ist umgekehrt proportional zur Größe des Arrays. Dies sollte jedoch in der realen Welt keine Rolle spielen, da das Array immer noch ziemlich groß werden muss, oder der array_filter oft aufgerufen wird, bevor Sie einen Einfluss auf die Leistung bemerken.
Wenn die Leistung vorrangig ist, müssen Sie das Array selbst durchlaufen und aus der Schleife ausbrechen, sobald Sie eine Übereinstimmung gefunden haben.
%Vor%Verwenden Sie array_filter und stellen Sie einen Rückruf bereit. Wickeln Sie dies in eine andere Funktion ein, um zu zählen, ob es Ergebnisse gibt
%Vor%Tags und Links javascript php functional-programming