限定しりとり

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);

A 回答 (2件)

$left = 'NULL'



では?

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

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

お礼日時:2008/07/29 14:32

if("'.$left.'" != "'.$right.'")


でいけそうですが、evalをつかってやるような処理じゃないですね
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/07/29 14:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!