Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[PHP] Dynamisch aantal argumenten meegeven

Pagina: 1
Acties:

Verwijderd

Topicstarter
Simpel vraagje maar ondanks allerlei php fora heb ik er nog steeds geen antwoord op:
Is het mogelijk dynamisch aantal argumenten mee te geven bij het aanroepen van een functie, een soort String[] args bij java zeg maar. Zo ja: Hoe?

  • Sjoerd
  • Registratie: December 2003
  • Niet online
Je kan gewoon een array meegeven :)

Modelbouw - Alles over modelbouw, van RC tot diorama


Verwijderd

Topicstarter
Dat snap ik, maar ik hoop eigenlijk op een simpelere manier

  • Sjoerd
  • Registratie: December 2003
  • Niet online
Verwijderd schreef op dinsdag 16 oktober 2007 @ 19:35:
Dat snap ik, maar ik hoop eigenlijk op een simpelere manier
Zover ik weet is er geen simpelere manier, in welk opzicht vind je het te lastig?

Modelbouw - Alles over modelbouw, van RC tot diorama


Verwijderd

Verwijderd schreef op dinsdag 16 oktober 2007 @ 19:35:
Dat snap ik, maar ik hoop eigenlijk op een simpelere manier
Wat bedoel je dan precies, want als een Java functie String[] args meekrijgt als argument, is dat toch echt een array van strings.

Of bedoel je meer een varargs stijl van argumenten meegeven zoals bijvoorbeeld aan printf? Dat kun je voor elkaar krijgen met func_get_args().

Maar ik weet natuurlijk niet wat jij onder "simpel" of "lastig" verstaat.

  • mithras
  • Registratie: Maart 2003
  • Niet online
PHP:
1
2
3
4
5
function do_something_with($object,$method="extend",$speed="medium",$reference=null){
  // do something with $object
}

do_something_with($obj, "shift", "fast");//$object=$obj, $method="shift", $speed="fast",$reference=null
Je kan argumenten een soort van default waarde meegeven, dan hoef je het niet door te geven, maar kan het wel. Ik snap je vraag namelijk niet helemaal: is dit wat je wil?

[ Voor 8% gewijzigd door mithras op 16-10-2007 19:41 ]


Verwijderd

Topicstarter
Lastig is niet het goede woord, ik vind het gewoon omslachtig om eerst alles in een array te moeten gooien, een string[] args achtige constructie bespaart je alvast dat werk.

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-09 20:59
Verwijderd schreef op dinsdag 16 oktober 2007 @ 19:40:
Lastig is niet het goede woord, ik vind het gewoon omslachtig om eerst alles in een array te moeten gooien, een string[] args achtige constructie bespaart je alvast dat werk.
Wat jij waarschijnlijk wilt, doe je met func_get_args in PHP, zoals Cheatah ook al aan heeft gegeven...

If I can't fix it, it ain't broken.


  • keisersose
  • Registratie: Maart 2003
  • Laatst online: 29-05 17:34
string[] args kan je met de genoemde func_get_args() bereiken.
Deze functie geeft een array met alle opgegeven argumenten terug.

Dus zoiets:
PHP:
1
2
3
function mijnFunctie() {
$args = func_get_args();
}


Zie:
http://nl.php.net/func_get_args

(Ook heb je nog func_ get_ arg() en func_ num_ args() )

Verwijderd

Topicstarter
Dit is inderdaad wat ik zoek, bedankt allen.

Verwijderd

keisersose schreef op dinsdag 16 oktober 2007 @ 19:44:
string[] args kan je met de genoemde func_get_args() bereiken.
Deze functie geeft een array met alle opgegeven argumenten terug.
Om de code leesbaar te houden, zou ik toch aanraden met implied parameters te werken.

PHP:
1
    function addPerson($name, $age=0, $nationality='Dutch') {}
Pagina: 1