Optimierung der Array-Ganzzahlüberprüfung mit nativen PHP-Funktionen
Die Überprüfung, ob ein Array nur Ganzzahlen enthält, ist eine häufige Aufgabe. Während das Durchlaufen des Arrays und das Untersuchen des Typs jedes Elements ein unkomplizierter Ansatz sein kann, bietet PHP prägnantere Alternativen.
Eine solche Lösung nutzt die Funktion array_filter, die ein Array und eine Bewertungsfunktion als Argumente verwendet. In unserem Fall übergeben wir is_int als Auswertungsfunktion. Wenn alle Elemente des Arrays bei der Übergabe an is_int true zurückgeben, bedeutet dies, dass das Array nur Ganzzahlen enthält. Wenn umgekehrt ein Element „false“ zurückgibt, wird das Vorhandensein nicht numerischer Daten bestätigt.
<code class="php">$only_integers === array_filter($only_integers, 'is_int'); // true $letters_and_numbers === array_filter($letters_and_numbers, 'is_int'); // false</code>
Um diesen Prozess weiter zu optimieren, können wir zwei Hilfsfunktionen definieren: all und any. all prüft, ob alle Elemente eines Arrays ein bestimmtes Prädikat erfüllen, während any überprüft, ob ein Element die Bedingung erfüllt.
<code class="php">function all($elems, $predicate) { foreach ($elems as $elem) { if (!call_user_func($predicate, $elem)) { return false; } } return true; } function any($elems, $predicate) { foreach ($elems as $elem) { if (call_user_func($predicate, $elem)) { return true; } } return false; }</code>
Durch die Verwendung von any und is_int können wir die Ganzzahlüberprüfungslogik prägnant ausdrücken:
<code class="php">any($array, 'is_int');</code>
Wenn das Ergebnis wahr ist, bedeutet dies, dass das Array mindestens ein nicht ganzzahliges Element enthält; andernfalls wird bestätigt, dass alle Elemente ganze Zahlen sind.
Das obige ist der detaillierte Inhalt vonWie kann ich die Zusammensetzung von Array-Ganzzahlen mithilfe nativer PHP-Funktionen schnell überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!