• ベストアンサー

evalの中でNULLを使用して比較したい

PHP5.2.4を使用しています。 次のようなevalを使って式を評価させたいのですが、 NULLを比較させると Parse error: syntax error, unexpected T_IS_NOT_EQUAL in test.php(11) : eval()'d code on line 2 というようなエラーがでてしまいます。 どうすればevalの中でこの条件式を成立させることができるのでしょうか? $left = NULL; $right = 1; $str = ' if('.$left.' != '.$right.') { print "not<br>\n"; } '; eval($str);

質問者が選んだベストアンサー

  • ベストアンサー
  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

$left = 'NULL' では? NULLの代入が,クォートを忘れてしまっているので leftが文字列の’NULL’ではなく,空文字列になってしまっています. strの中身を表示したら if( != 1) { print "not<br>\n"; } とかになっているんじゃないですかね?

takagoo100
質問者

お礼

ご返答ありがとうございます。 なるほど、空でしたか・・・ クォートを付加したらできました。ありがとうございます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

if("'.$left.'" != "'.$right.'") でいけそうですが、evalをつかってやるような処理じゃないですね

takagoo100
質問者

お礼

ご返答ありがとうございます。 >evalをつかってやるような処理じゃないですね たしかに