20. februar 2009 - 13:51
Der er
11 kommentarer og 1 løsning
Pass by reference på et vilkårligt antal variabler
Hej, Jeg har følgende funktion: function test() { for($i = 0; $i < func_num_args(); $i++) { $var = func_get_arg($i); $var++; } } Nu kunne jeg så godt tænke mig, at jeg kunne ligge én til alle variabler funktionen kaldes med. Ligegyldigt om det er 1 eller 1000. Hvordan gøres det?
Annonceindlæg fra HP
20. februar 2009 - 14:14
#1
Ved ikke om jeg er med: function test() { $enMere=func_num_args()+1; for($i = 0; $i < $enMere; $i++) { $var = func_get_arg($i); $var++; } }
20. februar 2009 - 14:15
#2
Glem det pjat jeg lige skrev, ser du bruger funktionen længere nede.
20. februar 2009 - 14:50
#3
Det skal fungere på samme måde som function test(&$tal) { $tal++; } Eneste forskel er at der skal kunne være et uendeligt antal variabler og ikke bare én
21. februar 2009 - 01:44
#4
Hvad vil du opnå? Det må kunne designes på en bedre måde ;) function_get_arg[s] returnerer en kopi - du kan kigge på at modificere $GLOBALS - men det er en dårlig løsning ;P
21. februar 2009 - 11:40
#5
Ønsker at lave noget der minder om mysqli_stmt_bind_result. Så de variabler der kaldes med, får en ny værdi.
21. februar 2009 - 15:47
#6
<ole> Brug PHP, som det er tænkt og til det, sproget er beregnet til ... kald med et array/object, som returneres af funktionen =) /mvh </bole>
21. februar 2009 - 15:56
#7
Enig med ole - ellers lav pass by reference på et array du giver med til funktionen
31. marts 2009 - 19:54
#8
Tid at få lukket? Hvis olebole og/eller coderdk ønsker point, skal jeg bruge et svar
31. marts 2009 - 23:13
#9
Ikke til mig, tak =)
01. april 2009 - 09:33
#10
Heller ikke til mig :)
så lukker jeg (langt om længe)
Og vi prøver lige igen...
Vi tilbyder markedets bedste kurser inden for webudvikling