Så før vi bare hoppe inn passerende referanser til funksjoner, lar revidere mye mer felles tilnærming, bare for å gi en rask oppfriskning for de som er ute av trening, eller de som er akkurat nå utvide til realms av funksjonene
En funksjon påtruffet i php ser oftest som en av de følgende to eksempler.
//ingen returnfunction SayHi () {echo 'Hello meg, møte den virkelige meg! ';} SayHi (); //Utganger vår tekstDette er en funksjon som vil gjøre noe sånt utgang tekst til skjermen, eller kaste en feil, eller noe annet du vil den skal gjøre.
//returnfunction growOld (alder $ ) {$ alder = $ alder + 1; returnere $ alder;} $ myAge = 21; $ myAge = growOld ($ myAge); echo $ myAge; //22Vi kan se at denne funksjonen tar en variabel, formodentlig en alder, og intervaller det etter en, før han returnerte den nye verdien for brukeren. Litt unyttig, men det illustrerer vårt synspunkt.
Nå varsel i det andre eksemplet har vi en funksjon parameter på $ alder. Når denne funksjonen kalles, er du bare sende en verdi til det, enten det er den nåværende verdien av en variabel, eller bare et tall, som '15'.
Dette kalles "Pass Av Value", og er den vanligste funksjonstype, langt. Nå, hva om vi ønsker å utføre noen handlinger på våre faktiske variable, ikke bare sin nåværende verdi? Å tenke på det på en annen måte, hva hvis vi ønsker å endre hva som er i vår faktiske container, i stedet for en kopi av det? Tenk deg følgende eksempel
//legge til et nummer til vår arrayfunction addAFive ($ array) {$ matrise [] = 5;}. $ MyArray = array ('1', '2', '3', '4'); addAFive ($ myArray); print_r ($ myArray); //Hva er resultatet?Svaret er kanskje ikke det du tror.
Siden vi bare gått en kopi av vår $ myArray til funksjonen, ble bare kopien gitt en '5'. Den opprinnelige matrisen fortsatt bare inneholder tall 1,2,3 og 4. Så er spørsmålet, hvordan kan vi sende vår faktiske elementet inn i funksjonen i stedet for et eksemplar? Svaret er en enkel '&'. Det er riktig, den ydmyke tegnet.
Hvis vi forord vår variabelnavn i vår funksjonens parameter liste med dette, så vil funksjonen vite for å operere på selve passert element, ikke en kopi av det! Det er veldig kult, sjekk den ut:
//legge til et navn til vår arrayfunction addAName (& $ array) //merke '&' foregående $ matrise {$ matrise [] = 'Jake';} $ myArray = array ('Jane', 'John', 'Joey'); addAName ($ myArray); print_r ($ myArray); //Jake er nå en del av klubben!Er ikk
Web Design største feilene
- Tips for Link Building
- Fem tips for å publisere bilder på bloggen din
- Overhaling av nettstedet ditt med disse Web Design Tips
- Custom Web Design Tips
- Gjør deg klar for den nye æra av Web Design
- Slik bruker tips for kreative og effektive Web Design
- Hvordan du endrer Blogger Template
- 5 Viktige retningslinjer i Website Design
- Designe et nettsted med et publikum i Mind
- Hvordan Stopp bli dratt ut av Web Designer