Eine ?Grube' in PHP
Aug 08, 2016 am 09:27 AMLassen Sie uns über ein Problem sprechen, mit dem Sie bei der Arbeit wahrscheinlich konfrontiert werden – ein Zitat von foreach
<span>$arr</span> = <span>range</span>(1,3<span>); </span><span>//</span><span>[1,2,3]</span> <span>foreach</span>(<span>$arr</span> <span>as</span> &<span>$val</span><span>) { } </span><span>foreach</span>(<span>$arr</span> <span>as</span> <span>$val</span><span>) { } </span><span>print_r</span>(<span>$arr</span><span>); </span>
Was gibt der obige Code aus? Das Erstaunliche ist, dass ich bei der Arbeit darauf gesto?en bin. Es hat lange gedauert, bis ich den Grund herausgefunden habe. Es gibt zwei M?glichkeiten, das Problem zu l?sen Problem. Nummer:
<span>Array</span><span> ( [</span>0] => 1<span> [</span>1] => 2<span> [</span>2] => 2<span> )</span>
Die folgenden zwei Methoden k?nnen das oben genannte Problem l?sen:
<span>//</span><span>方法1</span> <span>foreach</span> (<span>$arr</span> <span>as</span> &<span>$value</span><span>) { } </span><span>unset</span>(<span>$value</span><span>); </span><span>foreach</span> (<span>$arr</span> <span>as</span> <span>$value</span><span>) { } </span><span>print_r</span>(<span>$arr</span><span>); </span><span>//</span><span>[1,2,3] //方法2</span> <span>foreach</span> (<span>$arr</span> <span>as</span> &<span>$value</span><span>) { } </span><span>foreach</span> (<span>$arr</span> <span>as</span> <span>$val</span><span>) { } </span><span>print_r</span>(<span>$arr</span><span>); </span><span>//</span><span>[1,2,3] //方法3</span> <span>foreach</span> (<span>$arr</span> <span>as</span> &<span>$value</span><span>) { } </span><span>foreach</span> (<span>$arr</span> <span>as</span> &<span>$value</span><span>) { } </span><span>print_r</span>(<span>$arr</span><span>); </span><span>//</span><span>[1,2,3]</span>
Methode 1 ist auch im offiziellen Handbuch http://php.net/manual/en/control-structures.foreach.php zu sehen. Im Artikel gibt es einen besonderen Tipp, der daran erinnert
Warum sind Methode 2 und Methode 3 in Ordnung? Nachdem Sie das Folgende gelesen haben, handelt es sich tats?chlich um eine Zeigervariable, die auf ein Element im Array zeigt Schauen Sie sich zun?chst das Folgende an. Es ist leicht zu verstehen, dass tmp auf den Speicherplatz von var verweist
<span>$var</span> = 123<span>; </span><span>$tmp</span> = &<span>$var</span><span>; </span><span>$tmp</span> = 200<span>; </span><span>echo</span> <span>$var</span><span>; </span><span>//</span><span>200</span>Schauen Sie sich das gestohlene Bild unten an (haha, der Originallink ist unten gepostet), um das Obige besser zu verstehen
Okay, werfen wir einen Blick auf die Kommentare unter dem offiziellen Dokument. Es sollte leicht zu verstehen sein
<?<span>php </span><span>$arr1</span> = <span>array</span>("a" => 1, "b" => 2, "c" => 3<span>); </span><span>$arr2</span> = <span>array</span>("x" => 4, "y" => 5, "z" => 6<span>); </span><span>foreach</span> (<span>$arr1</span> <span>as</span> <span>$key</span> => &<span>$val</span><span>) {} </span><span>foreach</span> (<span>$arr2</span> <span>as</span> <span>$key</span> => <span>$val</span><span>) {} </span><span>var_dump</span>(<span>$arr1</span><span>); </span><span>var_dump</span>(<span>$arr2</span><span>); </span>?><span> The output is</span>: <span>array</span>(3) { ["a"]=> int(1) ["b"]=> int(2) ["c"]=> &int(6<span>) } </span><span>array</span>(3) { ["x"]=> int(4) ["y"]=> int(5) ["z"]=> int(6) }Referenzartikel:
http://www.cnblogs.com/CraryPrimitiveMan/p/4030748.html#3085766
http://www.jb51.net/article/39299.htm
Das Urheberrecht dieses Artikels liegt beim Autor iforever (luluyrt@163.com). Nach dem Nachdruck des Artikels ist der Autor und der Originaltextlink verboten müssen an deutlich sichtbarer Stelle auf der Artikelseite angegeben werden. Ansonsten behalten wir uns eine rechtliche Haftung vor.
Das Obige hat eine ?Grube“ in PHP eingeführt, einschlie?lich einiger Aspekte davon. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgeh?use + hochaufl?sende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangeh?use/Keramikgeh?use + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgef?? und Sicherheit hinzugefügt

1. Der Unterschied zwischen Iterator und foreach ist der polymorphe Unterschied (die unterste Ebene von foreach ist Iterator ein Schnittstellentyp, und es ist egal, ob for und foreach der Typ bekannt ist). 1. Warum hei?t es, dass die unterste Ebene von foreach der von Iterator geschriebene Code ist: 2. Der Unterschied zwischen ?remove in foreach“ und ?iterator“. im Alibaba Java Development Manual, aber in Fall 1 wird kein Fehler gemeldet, und in Fall 2 wird zuerst ein Fehler gemeldet (java. util.ConcurrentModificationException).

?Die Schritte für PHP, um die Nummer der foreach-Schleife zu bestimmen: 1. Erstellen Sie ein Array von ?$fruits“; 2. Erstellen Sie eine Z?hlervariable ?$counter“ mit einem Anfangswert von 0. 3. Verwenden Sie ?foreach“, um eine Schleife durchzuführen durch das Array und Erh?hen Sie den Wert der Z?hlervariablen im Schleifenk?rper und geben Sie dann jedes Element und seinen Index aus. 4. Geben Sie den Wert der Z?hlervariablen au?erhalb der ?foreach“-Schleife aus, um zu best?tigen, welches Element die Schleife erreicht.

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verst?ndnis der Grundursache des Problems kann dabei helfen, die richtige L?sung zu finden. Hier sind die h?ufigsten Gründe, warum das Snipping Tool m?glicherweise nicht ordnungsgem?? funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool ge?ffnet wird. Besch?digte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es m?glicherweise besch?digt. Veraltete Grafiktreiber: Inkompatible Treiber k?nnen das Snipping-Tool beeintr?chtigen. St?rungen durch andere Anwendungen: Andere laufende Anwendungen k?nnen mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler w?hrend des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache L?sung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

In diesem Artikel wird ausführlich erl?utert, wie PHP nach dem Umdrehen eines Schlüsselwerts ein Array zurückgibt. Der Herausgeber h?lt dies für recht praktisch, daher teile ich es Ihnen als Referenz mit. Ich hoffe, dass Sie nach dem Lesen dieses Artikels etwas gewinnen k?nnen. PHP-Schlüsselwert-Flip Der Array-Schlüsselwert-Flip ist eine Operation für ein Array, bei der die Schlüssel und Werte im Array ausgetauscht werden, um ein neues Array mit dem ursprünglichen Schlüssel als Wert und dem ursprünglichen Wert als Schlüssel zu generieren. Implementierungsmethode In PHP k?nnen Sie das Schlüsselwert-Umdrehen eines Arrays mit den folgenden Methoden durchführen: array_flip()-Funktion: Die array_flip()-Funktion wird speziell für Schlüsselwert-Umdrehungsvorg?nge verwendet. Es erh?lt ein Array als Argument und gibt ein neues Array mit vertauschten Schlüsseln und Werten zurück. $original_array=[

Teil 1: Erste Schritte zur Fehlerbehebung überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen L?sungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt m?glicherweise nicht an Ihrem Ger?t; die Server von Apple sind m?glicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgem?? funktioniert. Wenn es ein Problem gibt, k?nnen Sie nur warten, bis Apple es behebt. überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem ?Verbindung zum AppStore nicht m?glich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

php提交表單通過后,彈出的對話框怎樣在當前頁彈出php提交表單通過后,彈出的對話框怎樣在當前頁彈出而不是在空白頁彈出?想實現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗證用PHP在后端,那么就用Ajax;僅供參考:HTML code

Unterschiede: 1. for durchl?uft jedes Datenelement über den Index, w?hrend forEach die Datenelemente des Arrays über das zugrunde liegende JS-Programm durchl?uft. 2. for kann die Ausführung der Schleife über das Schlüsselwort break beenden, forEach jedoch nicht . for kann die Ausführung der Schleife steuern, indem es den Wert der Schleifenvariablen steuert, forEach jedoch nicht. 4. for kann Schleifenvariablen au?erhalb der Schleife aufrufen, forEach kann jedoch keine Schleifenvariablen au?erhalb der Schleife aufrufen ist h?her als forEach.
