Chandler | zaterdag 17 september 2005 @ 09:38 | |||
Gebruik jij Call-time pass-by-reference? of heb jij hiervoor een andere oplossing? Vandaag bekeek ik weer even een oude website waarbij ik een functie data laat terug sturen met een false/true en extra gegevens maar kreeg een error dat dit normaal niet in PHP te gebruiken is. (tenzij je de optie in PHP.ini heb gezet) bv als functie
en door het als volgt aan te roepen.
zonder die setting krijg ik deze error quote:hebben jullie hier ook een andere oplossing voor? | ||||
SuperRembo | zaterdag 17 september 2005 @ 09:55 | |||
Volgens mij krijg je die waarschuwing alleen als je bij de aanroep van de functie (call-time) een parameter by reference probeert door te geven. Als je de functie-parameter declareert met pass-by-reference en bij de aanroep geen pass-by-reference gebruikt dan is er niets aan de hand.
| ||||
Chandler | zaterdag 17 september 2005 @ 10:21 | |||
idd was die & nog vergeten.. maar is daar een andere goede oplossing voor? | ||||
Roonaan | zaterdag 17 september 2005 @ 10:22 | |||
Wat wil je doen dan? | ||||
Chandler | zaterdag 17 september 2005 @ 10:23 | |||
ik geef wel eens data door aan een functie, die doet er wat mee en verifieert het .. geeft dan een true of false terug met eventueel de gewijzigde data... @Beiden: jullie zijn er ook vroeg bij vandaag. @Roonaan: heb je eens zin om te bellen over dat projectje van die persoon? u know! ? | ||||
Roonaan | zaterdag 17 september 2005 @ 10:32 | |||
Mail maar ff. Ik zit nu in de rats met wat deadlines, hence maybe dat ik wat vroeg aan het coden ben al. | ||||
SuperRembo | zaterdag 17 september 2005 @ 10:35 | |||
quote:Als je die & in de functie zet en niet in de aanroep van de functie, dan is er toch niets aan de hand? | ||||
Chandler | zaterdag 17 september 2005 @ 10:38 | |||
en het resultaat is het zelfde dan? @Roonaan: Ik mail je wel ff. | ||||
Roonaan | zaterdag 17 september 2005 @ 10:40 | |||
Als de & in de function signature staat dan moet het argument altijd by reference zijn. Dat is het enige. Maar aangezien the other way around niet meer echt gesupport wordt, is het alles of niets. | ||||
Chandler | zaterdag 17 september 2005 @ 10:42 | |||
Misschien stom van mij maar ik begrijp het doel wel... het mee en terug sturen van de data maar wat bedoelen ze met by reference? is het mogelijk dat je hier een 'lééken' uitleg bij geeft | ||||
Roonaan | zaterdag 17 september 2005 @ 10:46 | |||
Variabelen worden op een bepaald address opgeslagen in het geheugen. Als je een variabele by value (byVal in vb) meegeeft maakt hij een kopie van de inhoud en plaatst deze in de argument stack van de functie. Als je een variabele by reference (byRef) meegeeft, zet hij alleen het address op de callstack. | ||||
Chandler | zaterdag 17 september 2005 @ 12:05 | |||
Volgens mij begrijp ik het. |