Beste php'ers

Ik weet niet of het mogelijk is maar wat ik wil is de sleutel van een array oproepen als een functie. Mijn vraag is hoe krijg ik " $veld " achter " is_"

Voorbeeld:


<?php

	#| Array met alle formulier velden.
	
		$formulier_velden = array('titel' => 'waarde', 'content' => 'waarde');
	
	
	#| Set " $data " array voor het opslaan van alle waardes.
	
		$data = array();
		
		
	#| Loop door alle formulier velden.	
	
		foreach($array as $veld => $waarde)
		{
			$data[$veld] = is_($waarde);
		}

?>
Mark schreef op 31.01.2010 14:26

hoe krijg ik " $veld " achter " is_"

Door dat daar neer te zetten ....

$data[$veld] = is_($veld);
lol, Niet wat ik bedoel, $data[$veld] = is_$veld($waarde);

maar dat werkt niet.
Beetje onzinnig lijkt mij dat.
Je bent gewoon te lui om te googlen,
<?php

#| Array met alle formulier velden.

$formulier_velden = array('titel' => 'waarde', 'content' => 'waarde');


#| Set " $data " array voor het opslaan van alle waardes.

$data = array();


#| Loop door alle formulier velden.

foreach($array as $veld => $waarde)
{
$func = 'is_'. $veld;
$data[$veld] = $func($waarde);
}

?>
Lijkt het je zo ie zo wel slim om aan de hand van een variabele een functie aan te roepen?

En ja het kan, maar hoe vertel ik niet, want in mijn ogen is het onzinnig.
-> iets wat dynamisch wordt opgebouwd is moelijk te debuggen
-> het kost je veel meer moeite het een en ander dicht te timmeren

In veel gevallen zijn er veel betere oplossingen te bedenken.
@ Santhe

Hoezo onzinnig? Ik moet een hele rits functies afgaan en op deze manier gaat dat het snelste.

@ Nico

Een paar dagen geleden op liggen googlen maar schijnbaar met de verkeerde termen. Ik wist niet dat je een functie zo kan aanroepen, Zo meteen even proberen. Bedank voor de tip.
@ Noppes

Zolang ik er een goede fout afhandeling inbouw is er toch niks aan de hand? of ben ik iets anders over het hoofd aan het zien?

er kunnen alleen door mij vast gestelde functies worden aangeroepen.

Edit: Sorry dubbele post.
@Mark.
Als je googled, ga je toch nadenken,,
ok,,
Welke taal is het: PHP
Wat zoek je: Een variabele functie naam.
Vertaal naar engels: variable function name
dus je zoekt op:
PHP Variable function name.
Eerste hit,, en klaar.

@Noppes
Met function_exists() heb je al eigenlijk alle beveiliging gedaan die nodig is.
@ Nico

Ik weet hoe ik google moet gebruiken, Ik vond alleen niet wat ik aan het zoeken was dus daarom heb ik dit topic gemaakt.
nico schreef op 31.01.2010 15:09
@Mark.
@Noppes
Met function_exists() heb je al eigenlijk alle beveiliging gedaan die nodig is.


Nee, je zult toch echt eerst de key moeten controleren/valideren

Reageren