Avatar billede moddi100 Seniormester
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?
Avatar billede michael_stim Ekspert
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++;
  }
}
Avatar billede michael_stim Ekspert
20. februar 2009 - 14:15 #2
Glem det pjat jeg lige skrev, ser du bruger funktionen længere nede.
Avatar billede moddi100 Seniormester
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
Avatar billede coderdk Praktikant
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
Avatar billede moddi100 Seniormester
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.
Avatar billede olebole Juniormester
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>
Avatar billede coderdk Praktikant
21. februar 2009 - 15:56 #7
Enig med ole - ellers lav pass by reference på et array du giver med til funktionen
Avatar billede moddi100 Seniormester
31. marts 2009 - 19:54 #8
Tid at få lukket?

Hvis olebole og/eller coderdk ønsker point, skal jeg bruge et svar
Avatar billede olebole Juniormester
31. marts 2009 - 23:13 #9
Ikke til mig, tak  =)
Avatar billede coderdk Praktikant
01. april 2009 - 09:33 #10
Heller ikke til mig :)
Avatar billede moddi100 Seniormester
03. maj 2009 - 09:50 #11
så lukker jeg (langt om længe)
Avatar billede moddi100 Seniormester
03. maj 2009 - 09:50 #12
Og vi prøver lige igen...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester