[php] variabele expressie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • zemartino
  • Registratie: Augustus 2002
  • Niet online
Klein probleempje met een IF...ELSE statement.
Stel dat de expressie bij een if geheel variabel is. Bijvoorbeeld, je hebt een lijst met extensies waar je een bestand op wilt controleren. Om het geheel dynamisch te houden, is deze lijst immer onder constructie :P.
Om het dynamisch te houden, bedacht ik een variabele IF expressie, maar dat gaat niet helemaal goed. Dit is het voorbeeld:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// dit zou dan uit een database komen ofzo.
$type['html']='html';
$type['javascript']='js';
$type['jpeg']='jpg';
$type['flash']='swf';


foreach($type as $extension) {
   $delijst[] = "substr_count($bestand,'.$extension') !=0";
}
$expression = implode (" || ",$delijst);

if($expression) {
 //hier meer code...
}


$expression zou dan een lijst zijn van substr_count()'s die controleren op extensies gescheiden door een || operator.
Dit werkt echter niet. Iemand ideeen hierover?

Acties:
  • 0 Henk 'm!

  • Tom-Eric
  • Registratie: Oktober 2001
  • Laatst online: 25-03 09:11
Je zou eval() misschien kunnen gebruiken.

i76 | Webdesignersgids | Online Gitaarlessen & Muziekwinkels


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 19-09 11:05
En een array opstellen met alle extensies en dan een in_array(deze_ext, ext_array) erop loslaten?

Acties:
  • 0 Henk 'm!

Verwijderd

Je kunt gebruik maken van functies als in_array() en dergelijken. Je hebt het zelf echter over een koppeling met een database. In dat geval kun je het best de database engine het werk laten doen.

Ik denk dat je je niet moet afvragen hoe je dit specifieke probleempje oplost, maar of je uberhaupt wel de juiste aanpak gebruikt :)

Waar moet dit stukje code in gaan passen? Wat is het doel van het grote geheel. De context is ook belangrijk.

[ Voor 15% gewijzigd door Verwijderd op 01-02-2003 20:09 ]


Acties:
  • 0 Henk 'm!

  • zemartino
  • Registratie: Augustus 2002
  • Niet online
Hmm. Gelijk heb je wel Cheatah. De aanpak kan idd anders. Ik blijf mij echter afvragen of een de expressie in een IF statement geheel variabel kan zijn. Ik heb al wat testjes gedaan met eval()
PHP:
1
eval ("\$expression = \"$expression\";");

zonder resultaat...