Referenciákat? Php - hogyan működnek, és mikor kell használni őket, Web design - tervezés, fejlesztés és


Referenciákat? Php - hogyan működnek, és mikor kell használni őket, Web design - tervezés, fejlesztés és

Mi az a referencia PHP-ben?

Hozzárendelése linkek PHP

Itt létrehoztunk egy változót, amelynek értéke $ a myVar „Hello!”. Aztán rendelt érték egy másik változó $ anotherVar. Ez a példány az érték az első változó a második. Aztán változtatni a tárolt érték $ anotherVar hogy „Viszlát.”

Mivel a két változó független, a myVar $ még mindig megtartja az eredeti érték ( „Hello!”), Amely hajt végre az oldalon. Eddig minden jól megy. Most megváltoztathatja a beállítható például a változó $ értéke myVar $ anotherVar. link segítségével. helyett az értéket. Ehhez egyszerűen írjon egy jel ( „”) egyenlőségjel után:

Most már láthatja, hogy a $ a myVar is változott „Viszlát!” Miért történt ez? Ahelyett rendelni az érték a myVar változó $ $ anotherVar - ami egyszerűen hozzon létre két független példányban azonos értékű - tettük a $ anotherVarssylkoy értéke $ myVar. Más szóval, a $ myVar és $ anotherVar mind a pont ugyanazt az értéket. Amikor tehát rendelve egy új értéket, $ anotherVar értéke a myVar $ is megváltozott.

Vegyük észre, hogy meg tudnánk változtatni az értéket a myVar on $ „Viszlát” helyett a változó $ anotherVar és az eredmény lenne pontosan ugyanaz. Két változó lényegében azonosak.

Eltávolítása hivatkozások PHP

Akkor távolítsa el a kapcsolatot a PHP hatástalanított () függvény töröl egy normális változó. Ha töröl egy linket, akkor egyszerűen távolítsa el a kapcsolat maga helyett a referenciaérték:

Az érték a memóriában marad, amíg el nem távolítja el az összes utalást, beleértve az eredeti változót:

Átadás változókat a link funkció

Linkek nem működnek, ha át őket érveket funkciókat. Általában, ha át egy változó függvénye,
függvény megkapja egy példányát a változó értékeit. Átadás a változó referencia funkciója vonatkozhat ez a változó,
de ami még fontosabb, hogy változtatni az eredeti változót.

Hogy telik egy érv hivatkozással, meg az & jelet, mielőtt a neve a függvény paraméter:

Most, minden alkalommal, amikor hívást myfunc () és a PHP változó áttételű átutalja a változó referencia, hanem a változó értékét. Vegyünk egy egyszerű példát elhaladó jelzet:

goodbye ($ myVar); echo $ myVar; // Kimenet „Viszlát”

Azt nézd meg létrehozásával változó $ myVar. kezdeti érték „Hello!”, amelyben goodbye () függvény egy paramétert $ myVar. telt hivatkozunk. viszlát funkció (megváltoztatni a tárolt érték $ a myVar „Viszlát.”

Így egy átviteli kapcsolat, amikor meg akarja változtatni egy olyan változót mint argumentum a funkciót. Egyszerűen nem igaz. By the way, nem lehet a kísértés, hogy írjon-jel előtt az érv a függvényhívás:

Felvétel és jelet jel előtt a paraméter a függvény definíciójában elegendő, hogy átmenjen egy változót referencia. Sok funkciók beépített PHP-passz érvek hivatkozunk. Például, a sort () függvény egy referencia rendezni a tömb, úgy, hogy ez a funkció lehet változtatni a sorrendjét a tömb elemeinek.

Visszatérés linket a funkciók

Ha átadhatók változókat referenciaként egy függvény, akkor ugyanaz lehet Egy függvény által visszaadott hivatkozásokat. Ehhez levelet az & jelet, mielőtt a neve a függvény definíciója. Azt is meg kell írni a jel (=) jelre, ha hozzárendelése változó funkció, különben egyszerűen értéket rendelni, nem egy hivatkozást.

Ebben a példában getNumWidgets () függvény megkeresi a globális változó $ numWidgets és visszaad egy utalás. Akkor hívjuk getNumWidgets (). amely megtartja linkek vissza $ numWidgetsRef, és csökkenti az értéket a változó által mutatott $ numWidgetsRef. Ez ugyanaz az érték által mutatott változó $ numWidgets, amint látható az eredménye visszhang funkciót.

Lehet, hogy nem használ gyakran visszatér a kapcsolat, mivel az átviteli kapcsolat, de ez a módszer hasznos lehet bizonyos helyzetekben, például ha azt szeretné, hogy megteremtse a keresési funkció (vagy osztály módszer), amely változó (vagy tulajdonában osztály), és visszatér utalás egy változó vagy egy tulajdonság, hogy a hívó fél tudja ellenőrizni a változó vagy tulajdonság.

Változó értékek a mondatban foreach hivatkozással PHP

Egy másik hasznos példa a linkeket, hogy módosítsa a tömb elemeinek egy foreach ciklus. A hagyományos tsiklaforeach dolgozik Skopje tömb értékeit, így ha annak értéke nem lesz hatással az eredeti tömb. Például, próbálja nagybetűs név sávok a tömb keresztül foreach ciklus:

Ez a következő látható:

Mint látható, az eredeti tömb nem változik eredményeként egy foreach ciklus. Azonban, ha véget és jelet, mielőtt a sáv az üzemeltető $ foreach $ sáv válik hivatkozás az eredeti tömb elem, hanem egy másolatot. Akkor tudjuk alakítani a tömb elemeit nagybetű:

A kód működik, mint az várható volt, az alábbiak szerint:

Egy másik módja, hogy módosítsa az értékeket a tömb a ciklus használni a ciklus helyett foreach.

Amikor hivatkozásokat használja automatikusan


Tehát, ha tanult négy módon lehet létrehozni egy kapcsolatot közvetlenül:

  • hozzárendelése linkek
  • Referenciakénti
  • Vissza Link
  • Készítsen egy linket egy foreach ciklus

Ezen kívül vannak olyan esetek, amikor a PHP automatikusan létrehozza linkeket. A legtöbb esetben, akkor nem kell, de tudatában kell lennie ezzel a lehetőséggel hasznos lesz!

Referenciák PHP használatával global kulcsszó

Amikor a global kulcsszó a függvény belsejében hozzáférni egy globális változót, majd, sőt, akkor hozzon létre egy linket a globális változó array $ GLOBALS.

Nem ugyanaz, mint a következő példa:

Irodalom PHP használatakor a kulcsszó $ this

Amikor objektum-orientált kódot gyakran használt kulcsszó $ this. Ha a $ this objektumon belül módszer, kövesse az utasításokat az aktuális objektumot. Érdemes megjegyezni, hogy a $ this mindig hivatkozhat a tárgy, hanem egy másolatot.

A megszerzett tárgyak

Eltérően más típusú változó, amikor hozzá, át vagy vissza a tárgy visszatér utalás a tárgy, hanem egy másolatot. Általában át a függvény vagy metódus dolgozik, maga a tárgy, nem annak másolatát.

Bizonyos esetekben, ha meg szeretné, hogy egy példányt egy tárgy, akkor a kulcsszó
klón. Tény, hogy minden sokkal vékonyabb. Amikor létrehoz egy változót objektumot, akkor tartalmaz egy mutatót egy objektum a memóriában, hanem maga a tárgy. Ha hozzá vagy át a változó, akkor tulajdonképpen létre egy másolatot a változó. De egy másolat is egy mutató az objektum - mindkét példányát a holtponton, hogy ugyanazt a tárgyat. Így a legtöbb esetben, akkor hozzon létre kapcsolatokat.

Ez a blog olvasni sokan
- olvasni és te!

Kapcsolódó cikkek