*   >> Lezen Onderwijs artikelen >> tech >> web design

Php - Pass Door Reference, A Different Approach

Dus voordat we springen in het voorbijgaan verwijzingen naar functies, laat opnieuw de veel meer gemeenschappelijke aanpak, om er maar een korte opfriscursus voor degenen die uit de praktijk, of degenen die juist nu uit te breiden in de rijken van functies

Een functie aangetroffen in php ziet er meestal als een van de volgende twee voorbeelden:.

 //geen returnfunction SayHi () {echo 'Hallo me, voldoen aan de echte me! ';} SayHi (); //Outputs onze tekst 

Dit is een functie die iets als uitgang tekst zal doen om het scherm, of gooi een fout, of wat je wilt doen.


 //returnfunction growOld ($ leeftijd ) {$ leeftijd = $ leeftijd + 1; terug $ leeftijd;} $ myAge = 21; $ myAge = growOld ($ myAge); echo $ myAge; 22 //

We kunnen zien dat deze functie met een variabele vermoedelijk een tijd en verhoogt door één, voordat de nieuwe waarde voor de gebruiker. Een beetje nutteloos, maar het illustreert ons standpunt.

Nu, bericht in het tweede voorbeeld hebben we een functie parameter van $ leeftijd.

Wanneer deze functie wordt genoemd, bent u gewoon het verzenden van een waarde aan, of het is de huidige waarde van een variabele, of gewoon een nummer, zoals '15'. Dit is de zogenaamde "Pass Door Value", en is het meest voorkomende type functie veruit. Nu, wat als we willen een aantal acties uit te voeren op onze werkelijke variabele, niet alleen de huidige waarde? Te denken van het op een andere manier, wat als we willen veranderen wat er in onze eigenlijke houder, in plaats van een kopie van het? Neem het volgende voorbeeld

 //toe een aantal van onze arrayfunction addAFive ($ array) {$ scala [] = 5;}.

$ MyArray = array ('1', '2', '3', '4'); addAFive ($ myArray); print_r ($ myArray); //Wat is de output?

Het antwoord is misschien niet wat je denkt. Aangezien wij slechts langs een kopie van onze $ myArray om de functie, was alleen de kopie krijgt een '5'. De oorspronkelijke array bevat alleen nog de nummers 1,2,3 en 4. Dus, de vraag is, hoe kunnen we onze werkelijke item te verzenden naar de functie in plaats van een kopie? Het antwoord is een simpel '&'. Dat klopt, de nederige ampersand.

Als we vooropstellen onze variabele naam in parameter lijst van onze functie met deze, dan is de functie zal weten om te werken op de werkelijke doorgegeven item, niet een kopie van het! Het is echt cool, check it out:

 //voeg een naam aan onze arrayfunction addAName (& $ array) //let op de '&' voorgaande $ matrix {$ scala [] = '

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.