*   >> Lese Utdanning Artikler >> tech >> web design

Php - Pass Av Reference, A Different Approach

e det fantastisk? Bare ved å legge tegnet til variabelnavnet, funksjonen nå vet å jobbe på selve variabel i stedet for en kopi som vil bli forkastet på slutten av funksjonen livssyklus. Tydeligvis dette eksempelet er rent det - et eksempel, ikke så nyttig, men hvis du kjører flere handlinger på en enkelt element (spesielt en array) er det mye lettere og renere, å passere elementet som selve elementet

>

En advarsel om, ikke prøv å passere en referanse til en funksjon som ikke forventer det, da det vil gi en samtaletid pasning fra referanse 'error:

 //dette er ikke allowedfunction someUnsuspectingFunction ($ array) //dette forventer en kopi {$ array-[] = '5';} $ myArray = array ('1', '2', '3', '4'); someUnsuspectingFunction (& $ myArray); //Dette vil kaste en exceptionprint_r ($ myArray); 

Problemet her (nerd alert) er at & faktisk betyr gi meg "adresse" av en variabel å manipulere.

Så, når vi kaller det den riktige måten (funksjon funk (& $ var) {}), funksjonen vet det kommer til å få en adresse i minnet, og vet å manipulere objektet på den plasseringen. Hvis vi prøver å bruke tegnet når du ringer en funksjon, feil vei (func (& $ myVar);), vi passerer den faktiske minneadressen til variabelen til funksjonen, som venter en matrise, ikke en minneadresse!

Så, mens litt forvirrende, er det ganske kjekk liten og ganske nyttig ferdighet å ha under programmer beltet!

Det er alt for nå!


Page   <<  [1] [2] 
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.