Wanneer u een functie maken en doorgeven parameters om het in PHP : Hypertext Preprocessor , moet u het bereik van de parameters te begrijpen . PHP dwingt je om specifiek aan te geven bij om een functie om de globale waarde van een parameter te wijzigen . In PHP versie 5 , het objectmodel van invloed op hoe objecten worden behandeld wanneer doorgegeven als parameters aan functies . Terwijl het model voldoet aan de algemene PHP standaard , het biedt een functie waarmee u de globale waarden van object leden manipuleren zonder specifiek te verklaren dit in de functie-definitie . Parameter Scope Bij een variabele aan een functie in PHP en de functie verandert de waarde van de variabele , heeft geen effect op de variabele waarde die buiten het bereik van de functie . Zodat een functie om de waarde van een variabele te wijzigen , moet u specifiek aangeven deze intentie voorloopteken de variabele naam met een ampersand in de functie-definitie . Bijvoorbeeld : functie modify_param , ( & param ) { } Value of Reference Een functie waarde van een variabele buiten niet kunt wijzigen zijn eigen toepassingsgebied omdat PHP passeert de variabele in waarde . Het creëert een kopie van waarde van de variabele en passeert de kopie aan de functie . Alle wijzigingen van deze waarde beïnvloeden alleen de lokale kopie . Wanneer je langs verwijzing met de ampersand in de functie-definitie , PHP passeert een pointer naar het geheugen adresruimte met de waarde van de variabele . Bewerkingen op de variabele worden vervolgens uitgevoerd tegen de globale waarde van de variabele , niet een kopie van zijn waarde . Passing Objecten Wanneer u een object doorgeven als een parameter aan een functie , PHP geeft steeds het voorwerp van waarde , maar het geeft een ander soort waarde . Een kopie van een object handgreep of identificator , wordt doorgegeven aan de functie . De object-id kan het om het geheugen adresruimte waarin de waarden van het object leden opgeslagen zijn. Dit betekent dat de leden van een voorwerp daadwerkelijk door verwijzing worden doorgegeven . Bewerkingen die eigenschappen van een object te gebruiken en methodes te manipuleren het geheugen adresruimte van die leden en veranderen hun mondiale waarden . Object Handle Copy Niet alle objecten in PHP worden doorgegeven door verwijzing , ook al verandert het object leden beïnvloeden mondiale waarden . Een kopie van het object hendel wordt doorgegeven aan een functie . Als een functie maakt een opdracht die verandert het object te behandelen zelf , verandert dat niets aan het object te behandelen omdat het wordt doorgegeven door de waarde . Zodat een functie om handvat van het object te wijzigen , moet u het object langs referentie, net zoals u zou doen met een andere variabele in PHP .
|