2011-04-14 6 views
-1

Possible en double:
echo inside if loopphp echo dans instruction if

Je suis en train d'évaluer les chaînes comme "0> 0.1", "0 < 0,2", etc. On suppose que $ string = "0> 0.1" et j'écris if ($ string) il l'évalue toujours à true car c'est une chaîne non-vide donc j'ai essayé de cette façon if (echo $ string) et cette fois je Je reçois une erreur disant que je ne peux pas faire écho à l'intérieur si

+3

où sont ces chaînes viennent? –

+1

La programmation ne fonctionne pas de cette façon. –

+0

echo est une construction de langage, pas une fonction. Il ne retourne rien quand il finit. –

Répondre

0

Vous devez utiliser eval. Bien sûr, c'est très, très dangereux, alors utilisez-le avec prudence.

+2

je suggérerais d'éviter eval autant que possible –

+0

@Shakti vous avez raison, mais si l'OP veut l'employer, elle l'emploiera. La page de manuel à laquelle je suis lié explique les risques en profondeur. –

+1

Quelqu'un a-t-il même testé cela? 'eval' sur ces chaînes ne fonctionnera même pas! –

3

Vous recherchez la fonction eval().

if (eval($string)) { 
} 

http://php.net/eval

+0

mais ceci me donne encore une erreur comme ceci –

+0

@Deepak lire la page de manuel. Vos chaînes ne sont pas prêtes à être utilisées dans eval. Il y a plusieurs choses que vous devez faire (comme ajouter des points-virgules, le cas échéant, etc.) –