PHP : Passage de code php dans une variable
Résolu
Laurraine
-
Laurraine -
Laurraine -
Bonjour à tous,
J'aimerai passer du code php php comme argument d'une fonction existante c'est-à-dire :
Par exemple
Doit donner le même résultat que :
Merci beaucoup !!!!
J'aimerai passer du code php php comme argument d'une fonction existante c'est-à-dire :
function faireUnTest($codeDuTest) { if(interpréter_le_contenu_de_la_variable_comme_code_php($codeDuTest)){ (...) } }
Par exemple
faireUnTest("1+1==2") ;
Doit donner le même résultat que :
if(1+1==2){ (...) } }
Merci beaucoup !!!!
A voir également:
- PHP : Passage de code php dans une variable
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
Bonjour
Ton premier code était presque bon, juanou :
Ton premier code était presque bon, juanou :
<?php function faireuntest ($test) { if ( eval("return(".$test.");") ) echo 'ok'; else echo 'pas ok'; } faireuntest( "5+5===10" ); ?>
Tu as essayé avec eval ? (https://www.php.net/manual/fr/function.eval.php
Si mon code fonctionne, ça devrait afficher "ok".
ps : attention toutefois avec eval. On recommande souvent de ne pas y avoir recours. On dit même que "eval is evil" !
<?php function faireuntest ($test) { if ( eval($test) ) echo 'ok'; else echo 'pas ok'; } faireuntest( "5+5===10" ); ?>
Si mon code fonctionne, ça devrait afficher "ok".
ps : attention toutefois avec eval. On recommande souvent de ne pas y avoir recours. On dit même que "eval is evil" !
Résultat :
Parse error: syntax error, unexpected $end in /home/_____/public_html/_____/_____/Php/_____/_____/_____.php(4) : eval()'d code on line _____ pas ok
ah... mince...
Mais j'ai trouvé autre chose.
Ca fait un peu bidouille mais ça a l'air de marcher :
ça devrait afficher :
Mais j'ai trouvé autre chose.
Ca fait un peu bidouille mais ça a l'air de marcher :
<?php $i = 0; function faireuntest ($test) { global $i; eval( 'function tmp'.$i.'() {return '.$test.';}; $tmp = tmp'.$i.'();' ); if ( $tmp ) echo "ok<br />"; else echo "pas ok<br />"; $i++; } faireuntest("3+3==6"); faireuntest("3+3==7"); ?>
ça devrait afficher :
ok pas ok
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question