2016-08-12 4 views
-1
$gted = (object)'>'; 
if(200 $gted 300){ 
    echo 'wow it worked'; 
}else{ 
    echo 'no it didnt work'; 
} 

私はif文で使用するために>条件に「>」に変換しようとしています。ありがとう。条件付き文字列、すなわち「>」すなわち>

+1

これを行うことで、何を達成したいですか? – ThatAwesomeCoder

+0

'if(200> 300)'だけではできませんか?あなたの質問は意味をなさない。 – scottevans93

+0

これは決して可能ではない。シンプルなスイッチ/ケースを試してみませんか? –

答えて

2

これはあなたが持っている方法では機能しません。変数はPHPの演算子として直接解釈することはできません。this questionも参照してください。あなたがオペレーターとして変数を解釈したとしても

が、あなたは文字列 'オブジェクトの中に持っているものないある不等号、それはなどのHTMLエンティティを解釈し、HTMLエンティティがあり、 のように見えます。

This questionには、ifステートメントの内部で評価する結果を格納するために使用できる算術演算子の回避策が含まれています。この回答で使用するための一例として、私はcreate_functionを使用する@ user187291によってthis answerの一部を借りて、わずかに修正さ:あなたが期待するよう

$operator = '+'; 
$func = create_function('$a,$b', "return \$a $operator \$b;"); 

$result = $func(5, 1); 
echo $result; 

echo'd結果は、6だろう。あなたは、擬似匿名関数ではなく、あなたがif声明に差し込むことができブール値を返すように使用されているものをオペレータに変更できます。

$operator = '>'; 
$func = create_function('$a,$b', "return \$a $operator \$b;"); 

$result = $func(200, 300); 
if($result) { 
    echo 'wow it worked'; 
} else { 
    echo 'no it didnt work'; 
} 

私は現在想像できない極端な、非常に特殊な状況を除いては、私はこれが良い考えだとは思わないでしょう。

関連する問題