Schleifen in PHP schreiben: Zwei Möglichkeiten; Gleiche Sache
Wenn Sie mit einer Sammlung in PHP arbeiten, insbesondere mit Arrays in PHP, gibt es zwei Möglichkeiten, wie Sie die manipulierten Informationen hauptsächlich sehen:
- durch
for
Schleifen, - durch eine Vielzahl von
array
Funktionen, die PHP bereitstellt.
Für das, was es wert ist, denke ich, dass die array
Funktionen eine bessere Lesbarkeit bieten, aber sie haben sich als langsamer erwiesen (insbesondere bei größeren Daten – bei kleineren Daten ist dies natürlich vernachlässigbar).
Ich arbeite oft mit for
Schleifen und verwandten Funktionen, um dasselbe zu erreichen, aber ich dachte, es könnte sich lohnen, sich ein Beispiel aus dem vorherigen Beitrag anzusehen und zu sehen, wie ich die array
Funktionen verwendet habe, um dieselben Dinge wie eine for
Schleife zu erreichen.
Letztendlich ist dies ein Vergleichsbeitrag, aber ich denke, es ist gut zu sehen, wie derselbe Code auf unterschiedliche Weise geschrieben werden kann.
Schleifen in PHP schreiben
Von Anfang an erhebe ich keinen Anspruch darauf, was besser ist. Dies dient lediglich dazu, zu zeigen, wie das Schreiben von Schleifen in PHP auf verschiedene Weise erreicht werden kann.
Es liegt an Ihnen, wie Sie es umsetzen möchten.
Das Ziel dieses Beispiels ist zu zeigen:
- wie man die Tags für einen bestimmten Beitrag erhält,
- read their names ist ein durch Pipes getrenntes Array,
- gibt die Tag-Namen getrennt durch das Pipe-Zeichen in einem Zeichenfolgenformat zurück.
Und hier sind die zwei Möglichkeiten, das zu tun.
Verwenden einer Standardschleife
Die Verwendung einer Standardschleife for
kann in etwa so aussehen:
Beachten Sie, dass ich:
- einen String initialisieren,
- lesen Sie die Tags
- iteriere sie und füge sie nur hinzu, wenn sie noch nicht existieren,
- Trennen Sie das Array mit einer Pipe,
- Entfernen Sie alle nachlaufenden Rohre
Dann habe ich die Zeichenfolge, die ich zurückgeben kann.
Verwendung von Array-Funktionen
In diesem Beispiel mache ich dasselbe, aber der Code ist etwas kompakter:
Es ist hilfreich, den Code von der innersten Funktion zur äußersten zu lesen. Damit passiert Folgendes:
- Ich nehme die Tags und iteriere jeden von ihnen mit einer anonymen Funktion, die an übergeben wird
array_map
, - Ich verwende dann das zurückgegebene Array und übergebe es,
array_filter
damit Duplikate entfernt werden. - Dann konvertiere ich das Array in eine durch Pipes getrennte Zeichenfolge.
Ähnlich wie oben habe ich die Zeichenfolge, die ich zurückgeben kann.
Das ist es?
Ja – und das war’s. Ich sage nicht, dass die Lesbarkeit der zweiten Funktion besser ist, aber ich werde sagen, dass sie weniger Schritte erfordert.
Denken Sie auch daran, dass größere Datensätze möglicherweise nicht so gut funktionieren.
Unabhängig davon ist die Verwendung integrierter Array-Funktionen wirklich nett, da sie eine Ebene integrierter PHP-eigener Funktionen bietet (wobei for
Schleifen in allen Sprachen häufiger vorkommen), die uns Zeit sparen können (z. B. das Herausfiltern doppelter Daten).
Irgendwelche Referenzen?
Eigentlich ja. Abgesehen vom PHP-Handbuch hat Carl Alexander meiner Meinung nach den wohl umfassendsten Artikel zu diesem Thema.
Es lohnt sich, ihn vollständig zu lesen, besonders wenn Sie diesen speziellen Beitrag interessant fanden.