[PHP-users 34985] Re: 文字列を数式として評価してくれる関数

MAEDA Katsuyuki kei @ nanet.co.jp
2010年 2月 12日 (金) 15:25:45 JST


 前田です。

 老婆心かも知れませんが、CGI等で外部から来た
文字列をevalに渡すと、それこそ何でもできる状態に
なってしまいますので、慎重なフィルタリングをお忘れなく。

2010年2月12日12:30 NiwaNobuo <niwa @ kobuta.com>:
>  丹羽です。
> なるほどー。ありがとうございました。
> evalってこうやって使うんですね。
> 飯塚さんもありがとうございました。
>
>>丹羽さん、こんにちは
>>
>>お問合わせの件ですが、
>> <?php
>> $a="2*(3+4/(3-1))";
>> echo $a."<br>";
>> eval('$res = '.$a.';');
>> echo $res;
>> ?>
>>
>>でいかがでしょう。
>>無効な式の場合、0が返ります。
>>では〜
>>
>>----- Original Message -----
>>> 丹羽信夫です。
>>> ずっと探しているんですが、解決せずなので投稿します。
>>> たとえば、
>>> calc('2*(3+4/(3-1))')=10
>>> のように、与えられた文字列を数式として評価、計算した値を
>>> 返すという関数が
>>> 欲しい場合、
>>> 自作しかないのか、それとも、どこかにすでに発表されている
>>> のか、
>>> それとも、もともとPHPの関数にあるのでしょうか????
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
>



-- 
MAEDA 'kei' Katsuyukii <maeda.katsuyuki @ gmail.com>
http://www.nantoka.com/~kei/
「終わらないプロジェクトはない。終わっちゃうプロジェクトはあるけど。」


PHP-users メーリングリストの案内