2010-09-21 7 views
-1

Je veux savoir s'il y a un moyen d'utiliser quelque chose comme ceci:Comment utiliser si la condition dans la chaîne en php

$t1=1; 
$t2=2; 
$t3="$t1>$t2"; 

if($t3) 
    echo "Greater"; 
else 
    echo "Smaller"; 

Cela évaluera à vrai t3 $ est une chaîne, mais ce qui ne va pas! !!

Donc est-il possible d'inclure la condition if dans la chaîne.

J'ai entendu dire que nous pouvons utiliser eval pour cela: PHP - if condition inside string

Mais comment est-ce possible ???

+0

regard sur la réponse dans le lien que vous avez joint, c'est exactement le même exemple eval() –

+1

Pourquoi ne pas 'si (t1 $> t2 $) echo "Grand" else echo "Plus petit"'? – NullUserException

+0

Je suis d'accord, complète dup. – pascal

Répondre

1

Cela ressemble à ça devrait fonctionner, étant donné la page PHP eval.

$t1=1; 
$t2=2; 
$t3="return $t1>$t2;"; 

if(eval($t3)) 
    echo "Greater"; 
else 
    echo "Smaller"; 
+0

Merci, laissez-moi voir si je peux faire ce travail! – sreejith

3

Pour cela, vous n'avez pas besoin d'évaluer une chaîne. Il suffit d'écrire comme une condition première, et il vous donnera une valeur booléenne que vous pouvez évaluer tel quel dans l'état si:

$t3 = $t1 > $t2; 

Par ailleurs, le else dans votre code évaluerons si $t1 et $t2 sont égal. Vous pouvez utiliser un else if pour prendre soin de cela, mais c'est juste quelque chose que je pensais souligner.

+0

OP veut spécifiquement qu'il soit dans une chaîne ,. –

+0

Merci, vous avez raison, un autre si sera mieux, je l'ai écrit en règle générale. – sreejith

-1

Vous ne tenez probablement pas compte de cela et cette question provient d'un mauvais design.
Pourquoi ne pas faire juste

if ($t1>$t2) echo "greater"; 
+0

Ce n'est pas ce que je voulais !!!! – sreejith

+0

@sreejith trop mauvais pour vous –

+0

J'ai décidé d'utiliser eval() qui semble être la meilleure solution. – sreejith

Questions connexes