Heim > Backend-Entwicklung > PHP-Tutorial > Einige ungewöhnliche Probleme in PHP foreach/in_array

Einige ungewöhnliche Probleme in PHP foreach/in_array

WBOY
Freigeben: 2016-07-29 09:12:37
Original
1024 Leute haben es durchsucht

PHP ist in der Entwicklung sehr effizient, was verständlich ist, aber es geht zu Lasten der Ausführungseffizienz. Die PHP-Array-Funktion ist sehr leistungsfähig, aber Sie sollten sie auch genauer in Betracht ziehen und für alle Fälle mehrere Fallstricke ausprobieren. Hier werde ich kurz die beiden aufgetretenen Fallstricke erwähnen.

foreach bietet eine einfache Möglichkeit, ein Array zu durchlaufen, das den Inhalt von Daten oder Objekten leicht lesen kann. Die offizielle Dokumentation besagt jedoch, dass dies auf foreach zurückzuführen ist Bei internen Array-Zeigern kann das Ändern ihrer Werte in einer Schleife zu unerwartetem Verhalten führen. Also grundsätzlich: 1. Versuchen Sie nicht, den Wert innerhalb der Schleife zu ändern, da das Ergebnis sonst über das gewünschte hinausgeht. 2. Die Verwendung von „&“ ist eine sichere Methode, obwohl sie selten verwendet wird, aber wenn sie verwendet wird , Nach dem Ende der Referenz sollte die unset-Funktion sofort aufgerufen werden, um die Variable zu zerstören. Andernfalls wird der letzte Wert der Schleife geändert, wodurch ein unerwarteter Wert erhalten wird. Wenn die Liste in einer Schleife ausgegeben wird, enthält die letzte Ausgabezeile viele chaotische Werte oder Nullwerte. Die Verwendung von unset löst dieses Problem.

in_array bedeutet, zu überprüfen, ob die vorherige Zeichenfolge im folgenden Array vorhanden ist. In den meisten Fällen funktioniert dies auch so, aber wenn das folgende Array eine Ganzzahl ist, z. B. array(0, 1 , 2, 3), es gibt ein Problem. PHP führt eine Intval-Operation für die vorherige Zeichenfolge durch, sodass der Wert 0 erhalten wird. Wenn Ihr Array dann zufällig diesen Wert hat, wird die Gleichung erstellt, ja, nicht. Hat es die Erwartungen nicht noch einmal übertroffen? Wenn daher festgestellt wird, dass die folgenden Daten eine Ganzzahl sind, insbesondere wenn sie 0 sind (dies kann alle Zeichenfolgen ersetzen), dürfen Sie diese Funktion nicht mehr verwenden. Sie können stattdessen key_exists verwenden, sondern müssen die folgenden Daten verwenden array_flip, um die Inversionsoperation auszuführen.

Was passiert, wenn eine Zeichenfolge als Array zum Abrufen von Werten verwendet wird? PHP ist eine sehr fehlertolerante Sprache. Sie wird ihr Bestes geben, um Ihnen bei der Korrektur Ihrer Fehler zu helfen, sodass Sie Ihren Referenzindex intelligent in eine Ganzzahl umwandeln. Dann ist der String-Index 0 und der Wert ist Sie wird den Wert der ersten Zeichenfolge erhalten. Liegt er über Ihren Erwartungen? Die Lösung besteht darin, zu bestätigen, ob die Variable ein Array ist, bevor auf den Index is_array verwiesen wird.

Obwohl es viele Senioren gibt, die auf dieses oder jenes Problem gestoßen sind und immer wieder darüber reden, sind wir immer noch unvermeidbar und machen schließlich immer wieder Fehler. Vielleicht ist das die Gesellschaft! Alle sind so beschäftigt, wie können wir nur Zeit haben, Ihren beschissenen Code zu knacken! Haha

Das Obige stellt einige ungewöhnliche Probleme in foreach/in_array in PHP vor, einschließlich verwandter Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage