[PHP-users 24356] Re: DB登録した計算式の利用方法

Seto seto @ 1kg.jp
2005年 2月 3日 (木) 21:51:07 JST


 Setoです。

[seto @ seto-test test]$ cat ./test.php
<?php
$str = '$res=($a+$b)*2+$c*20;';
$a=1;
$b=2;
$c=3;
eval($str);
echo $res;
?> 
[seto @ seto-test test]$ php -f ./test.php
66 

となりましたよ。
ブラウザから確認しても同じ結果でした。
環境はLinuxでPHP、Apacheは同じです。

何か他の理由がありそうですね。

DBから抽出した計算式文字列をもう一度
確認してみてはいかがでしょうか?

>こんにちは、赤坂57と申します。
>
>PHP:4.3.10
>Apache:1.3.33
>
>$res=($a+$b)*2+$c*20;
>
>の様な加減乗除とカッコ程度の計算式をDBに登録し、
>DBより抽出した、計算式の文字列ををPHP内で計算式として、
>扱いたいのですが、文章中に混ぜた変数を評価するのは、
>evel()でやれる事は確認したのですが、
>計算式では、その評価が不可能なようで困っています。

Junya Seto


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