2016-08-05 3 views
-1

これは私のコードです:取得データベースからの式とは、使用して

public function test(){ 

    $type = 'test'; 
    $a = '1'; 
    $b = '1'; 

    $formula = $this->Dashboard_Model->formula($type); 

    $answer = $formula->FORMULA; 

    //echo $answer; 

} 

それがないすべては、私は私のデータベースに保存された式を取得することです。私は適切な式を得ることができます。このテスト関数では、数式は$a+$b

です。この式をPHPコードにして答えを出力します。どうしたらいいですか?

私が望む式が何であれ、私はそれを使用して、いつでもそれを更新したいと思っています。

ありがとうございました。

+0

あなたが尋ねるものがわかりません –

+0

[eval](http://php.net/manual/en/function.eval.php)を使用することができます(実際には良いことではありません)。 – FirstOne

+0

@FirstOneで説明できますかそれはもう少しですか? –

答えて

0

不正なコードではなく番号が返されるように、結果の周りにnumber_format関数を追加しました。

public function test(){ 

    $type = 'test'; 
    $a = '1'; 
    $b = '1'; 

    $formula = $this->Dashboard_Model->formula($type); 

    $answer = $formula->FORMULA; 

    echo number_format(eval($answer), 2); 

} 

上記のコードは、数値が返されることを確認します。

evalは、PHPコードとして文字列を評価(実行)します。データベースには数式の代わりに悪質なコードが含まれている可能性があります。

関連する問題