[function]Hoe kan ik dit laten werken?
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
function testfunction($eenvariable)
{
echo "Eens kijken of de variable is gegevent: $eenvariable";
}
$waarde = "Hij werkt!";
$functionnaam = "testfunction";
//Ik wil de function op deze manier oproepen:
$functionnaam($waarde);
//$functionaam=testfunction en $waarde="Hij werkt!"
// Dus samen zou die zijn: testfunction("Hij werkt!")
?>
function testfunction($eenvariable)
{
echo "Eens kijken of de variable is gegevent: $eenvariable";
}
$waarde = "Hij werkt!";
$functionnaam = "testfunction";
//Ik wil de function op deze manier oproepen:
$functionnaam($waarde);
//$functionaam=testfunction en $waarde="Hij werkt!"
// Dus samen zou die zijn: testfunction("Hij werkt!")
?>
Ik heb dit nodig voor een script waar de function namen in een array staan en de waarde een _POST is. Weet iemand hoe ik dit kan krijgen? Soms werkt het als ik { en } gebruikt, maar nu niet.
Grtz DDragonz
Gewijzigd op 01/01/1970 01:00:00 door DDragonz
is maar een wilde gok
Huh, ik zie dat deze test het wel doet. Maar in mijn script doet ie het niet (binnen een class).
edit2:
Heb het al? Echt raar ik deed dit van te voren ook nog en toen deed hij het niet. (Meschien moet ik toch maar gaan slapen :P)
$a = $this->fieldvali;
$b = $this->$fieldname;
$a($b);
edit3:
Dit gaat niet:
$this->fieldvali($this->fieldname);
Dan krijg ik de error:
Fatal error: Call to undefined method textareafield::fieldvali() in H:\prog\Webserver\root\formbuilder\fields\class.textareafield.php on line 33
(Ben bezig met een class die (valid)xhtml forms maakt. Zo iets bestaat al maar ik werk liever met mijn eigen scripts :P. Dan snap ik het hele code :))
Maar die functie eval() ken ik niet even kijken wat dat dan is... :)
Gewijzigd op 01/01/1970 01:00:00 door DDragonz
eval($functionnaam($waarde));
Edit: Ik was weer eens te laat. En ik heb echo verwijderd.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
eval — Evaluate a string as PHP code
mixed eval ( string $code_str )
als hij niet werkt in je klasse kan dit zijn omdat je in je klasse geen toegang hebt tot $functionnaam (echo die eens om te controleren)
call_user_func en call_user_func_array. Als je die naar een method uit een klasse wil laten aanroepen geef je als eerste parameter een array met als 0de entry het object en als 1e entry de functienaam (string) mee.
En anders zijn er altijd nog 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
function testfunction($eenvariable)
{
return "Eens kijken of de variable is gegevent: $eenvariable";
}
$waarde = "Hij werkt!";
$functionnaam = "testfunction";
//Ik wil de function op deze manier oproepen:
echo functionnaam($waarde);
//$functionaam=testfunction en $waarde="Hij werkt!"
// Dus samen zou die zijn: testfunction("Hij werkt!")
?>
function testfunction($eenvariable)
{
return "Eens kijken of de variable is gegevent: $eenvariable";
}
$waarde = "Hij werkt!";
$functionnaam = "testfunction";
//Ik wil de function op deze manier oproepen:
echo functionnaam($waarde);
//$functionaam=testfunction en $waarde="Hij werkt!"
// Dus samen zou die zijn: testfunction("Hij werkt!")
?>
zal mijnsinziens moeten werken.
@Crispijn:
waarom een return, en geen echo? Nu moet je bij het aanroepen van je functie ook nog eens de return echo'en. Bovendien: mocht je meerdere dingen willen echo'en werkt dit natuurlijk niet.
@Crispijn:
waarom een return, en geen echo? Nu moet je bij het aanroepen van je functie ook nog eens de return echo'en. Bovendien: mocht je meerdere dingen willen echo'en werkt dit natuurlijk niet.
Oftewel: Lekker boeiend hoe anderen het doen :)
@WillemJan: Oke, mee eens ;-)