<?php
function compleetGeenVerplichting()
{
// Je krijgt de args die doorgegeven zijn d.m.v.:
// func_get_args();
// Deze komen in een array te staan.
// Zoiets moet je het dan doen:
$array = func_get_args();
foreach ($array as $key => $value) {
echo 'arg ' . $key . ' = ' . $value;
}
}
?>
Edit:
Met de bovenste heb je een standaardwaarde:
<?php
function standaardwaarde ($arg1, $arg2 = 'value') {
// $arg1 MOET ingevoerd worden,
// $arg2 mag ingevoerd worden, zo niet, dan is deze 'value'.
}
?>
?
Onbekende gebruiker
18-09-2009 20:21
[code]
function ditIsEenFunctionWaarbijJeEenAantalArgumentenMeeGeeftAlsJeDezeNietMeeGeeftWordtDeStandaardWaardeGebruiktDieJeNaHetIsTekenPlaatst($verplicht, $niet_verplicht = "indien niet opgegeven wordt deze waarde gebruikt")
{
// do something
}
function dezeIsGeheelVrij()
{
print_r(func_get_args());
}
Als ik nou eventjes moeilijk wil doen,
en een vrij lange functie wil maken en deze wilgebruiken in verschillende situatues:
<?php
function standaardwaarde ($arg1, $arg2 = 'value', $arg3,$arg4 = 'lol', $arg5) {
}
?>
hier is arg 2 en 4 niet verplicht
als ik 1,2,3,5 invul hoe weet deze dan dat ik bedoel vul 2 inm en 4 niet, en niet omgekeerd??
want ik zet geen aangeving dat dit moet??
of omgekeerd
ik vul 1,3,4,5 in ?? hoe weet deze het verschiL??
hoe kan de functie weten welke ik bedoel in te vullen
?
Onbekende gebruiker
18-09-2009 20:53
Door de vereiste parameters helemaal vooraan en de niet vereiste parameters achteraan te zetten ;)
Om je functiedeclaraties niet al te ingewikkeld te maken kun je beter een array meegeven. In de functie kijk je dan gewoon of een bepaalde key geset is.
?
Onbekende gebruiker
18-09-2009 20:54
regel 1) niet verplichte argumenten komen achteraan!
regel 2) je kan niet twee argumenten niet verplichten als de ene de andere niet verplicht
regel 2) je kan niet twee argumenten niet verplichten als de ene de andere niet verplicht
Die snap ik niet
@jan
Dan moet je toch met globals werken??
of bedoel je die via de argemtenten ingeven??
1. gaat diet via arrays
2. dan moet je eerst die array zetten voor je die ingeeft in de argumtenen van de functie??