aantal variabele functie bepalen
is het mogelijk om aan de hand van de uitkomst van de strlen functie te bepalen hoeveel variabele er moeten worden opgegeven bij een functie (die onderdeel is van een klasse)??
gr. leroy
Ik denk dat je het in de richting van func_get_args() moet zoeken. En anders variable variables?
Zend Studio Professional geeft exact aan hoeveel parameters een functie heeft en welke dit zijn. Wanneer je bij de functie ook nog documentatie opneemt, wordt ook dat getoond. Idem dito met classes en hun methodes, Zend vertelt mij precies wat ik moet invullen.
Als ik mij niet vergis, werkt dit met Eclipse net zo. Eclipse is gratis, Zend Studio kost $ 299,- (maar is het dubbel en dwars waard).
ik heb een klasse:
nu wil ik dat het aantal argumenten van functie functie() wordt bepaald via een string.. dus zoiets:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$string = $_POST['string']; //dit kan van 1 t/m * zijn.. weet ik dus niet van te voren
$aantal = strlen($string);
//hier wil ik dan dan het aantal nodige argumenten voor functie functie() wordt veranderd..
//het zou ook goed zijn als het gewoon een onbepaald aantal kan zijn..
?>
$string = $_POST['string']; //dit kan van 1 t/m * zijn.. weet ik dus niet van te voren
$aantal = strlen($string);
//hier wil ik dan dan het aantal nodige argumenten voor functie functie() wordt veranderd..
//het zou ook goed zijn als het gewoon een onbepaald aantal kan zijn..
?>
ik hoop dat het zo wat duidelijker is..
@RT, ik kan jouw script dus niet gebruiken, omdat ik dus niet weet tussen welke hoeveelheden het komt te zitten..
func_get_args() gekeken zoals Gerjo al zei?
Output:
Je hebt al naar Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
class Foo
{
function bar()
{
return '<pre>'.print_r(func_get_args(), true).'</pre>';
}
}
$oFoo = new Foo();
echo $oFoo->bar('Argument 1', 'Argument 2', 'Argument 3', 'etc...');
?>
class Foo
{
function bar()
{
return '<pre>'.print_r(func_get_args(), true).'</pre>';
}
}
$oFoo = new Foo();
echo $oFoo->bar('Argument 1', 'Argument 2', 'Argument 3', 'etc...');
?>
Output:
ow.. sorry! dat was de oplossing ja!