[PHP] Optionele Parameters

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een heel klein vraagje:
de function explode() heeft een optionele parameter LIMIT,
PHP:
1
2
3
4
5
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza); 

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza, 2);


maar die hoeft niet worden aangegeven als je hem niet bebruikt met bijvoorbeeld
PHP:
1
2
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; 
$pieces = explode(" ", $pizza, "");


hoe verwerk je dit in je eigen functies? want ik wil een keuze hebben tussen een functie die maar minimaal aantal opties heeft en een functie die veel meer heeft.

MySQLTable($veld, $veldenArray);
MySQLTable($veld, $veldenArray, TRUE, FALSE);
en anders moet ik bij de bovenste altijd
MySQLTable($veld, $veldenArray, "", "");
doen.
Als iemand het weet: alvast bedankt

Acties:
  • 0 Henk 'm!

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 00:01

me1299

$ondertitel

Dat is niet zo moeilijk.

PHP:
1
2
3
function mijnfunctie($par1, $par2, $par3 = "pietje bel") {

}


In dit voorbeeld is $par3 optioneel. En zal als hij niet opgegeven wordt de waarde pietje bell bevatten

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

En daar hebben we nou een manual voor :)

http://nl.php.net/manual/nl/functions.arguments.php

Acties:
  • 0 Henk 'm!

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-08 09:08

Kippenijzer

McFallafel, nu met paardevlees

Vanaf PHP 4.1 uit mijn hoofd kun je gewoon een functie met 4 argumenten maken die je maar met 2 argumenten aanroept (zullen dan automagisch de 1e twee zijn) zonder dat je twee "" argumenten hoeft te geven. De niet meegezonden argumenten zijn dan gewoon de absolute NULL. Werkt dit bij jou niet? Dan heb je een te oude PHP vrees ik. Eigen PC? : effe nieuwe versie installeren. Niet jou PC/ webhost : Spijtig, maar dan toch maar 2 functies maken die een verschillende naam hebben, hetzij testen of de default value werkt zoals hierboven al was aangedragen...

Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Kippenijzer schreef op 21 May 2003 @ 11:45:
Vanaf PHP 4.1 uit mijn hoofd kun je gewoon een functie met 4 argumenten maken die je maar met 2 argumenten aanroept (zullen dan automagisch de 1e twee zijn) zonder dat je twee "" argumenten hoeft te geven. De niet meegezonden argumenten zijn dan gewoon de absolute NULL. Werkt dit bij jou niet? Dan heb je een te oude PHP vrees ik. Eigen PC? : effe nieuwe versie installeren. Niet jou PC/ webhost : Spijtig, maar dan toch maar 2 functies maken die een verschillende naam hebben, hetzij testen of de default value werkt zoals hierboven al was aangedragen...
Als je met error_reporting(E_ALL) werkt, krijg je warnings als je een functie aanroept met te weinig argumenten bij PHP > 4.1. Dit is uiteraard ook terecht, want wanneer je geen default waarden opgeeft bij de argumenten en je deze argumenten ook niet aanroept bij je functie-aanroep, staan deze vrij nutteloos in je argumentenlijst en dan worden die argumenten wel geinitialiseerd, maar niet gedefinieerd. ;)

[ Voor 8% gewijzigd door RedRose op 21-05-2003 12:11 . Reden: kromme zin :> ]

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zal het eens proberen...
Jeej werkt hartstikke bedankt!
:PHP Version 4.2.1, tijd voor een nieuwe :)

nog even een heel klein vraagje: een projectlid zijn broer had in zijn php code op een gegeven moment @mysql_select_db($blaat, $blaat); staan waar is die @ voor, want wij kwamen er niet uit en nu kwam ik het weer een paar keer tegen...
(ik heb deze keer de manual ook door gespit :), maar ja @ schijnt ie te negeren)

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

@ is een ranzige manier om foutmeldingen te onderdrukken...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok die ga ik dus niet gebruiken dan :), tnx deze mag wel een slotje (eventueel)
Pagina: 1