evalの挙動が理解できないので、教えてください。
以下のような、コードを書いた場合、18と表示されます。
022の部分\"022\"と文字列にすれば、022
0をはずして、22とすれば、22と表示されます。
022がどのように評価されているのか、わかりません。
教えていただけますようお願いします。
php5.2.10
<?php
$val="";
eval("\$val = 022;");
echo $val;
exit;
?>
追伸:
試してみると、evalに限らず同様に異なる値で表示されるようです。
if(is_numeric(033)){
echo 033;
echo "numeric";
}
私の、phpの理解が不足している事はわかりましたが、どのような理屈なのかわかりません。
よろしくお願いします。
« 最終編集者 nobita 日時 2010 年 3 月 8 日(月) 15:29. »