2011-10-25 100 views
5

我有以下字符串。使用字符串的數字操作

$option = '+'; 
$value = '100'; 

我想使用上述參數創建新值。

例如: - $newValue = 222 + 100;

我如何使用它上面的參數呢?如下

$newValue = 222 $option $value; 
+0

*(TIP)* [「清潔守則鉭lks - Inheritance,Polymorphism,&Testing「](https://www.youtube.com/watch?v=4F72VULWFvc) – Gordon

回答

4
<?php 

$option = '+'; 
$value = '100'; 

eval("\$newValue=" . 222 . $option . $value . ';'); 
var_dump($newValue); 
+8

這是非常危險的方式! –

+1

如果您調用** eval()**函數,請確保您在** $ option **和** $ value **變量中僅包含您要支持的運算符和數字。 –

+0

是的。真正。但我已經知道運營商。 –

5
$oldValue = 222; 
switch ($option) { 
    case '+': 
    $newValue = $oldValue + $value; 
    break; 
} 
+0

和代碼中的$ value是什麼? – user973254

+1

'$ newValue = $ oldValue + $ value;' – Sebastian

4
switch($option){ 
case '+': 
    $newValue = 222 + $value; 
    break; 

} 


echo $newValue; 

希望它有助於

10
function operate($a, $b, $opt){ 
    switch ($opt) { 
     case '+': 
      $ret = $a + $b; 
      break; 
     case '-': 
      $ret = $a - $b; 
      break; 
     case '*': 
      $ret = $a * $b; 
      break; 
     case '/': 
      $ret = $a/$b; 
      break; 
     default: 
      throw new Exception('Unsupported operation!'); 
    } 
    return $ret; 
} 

編輯

$option = '+'; 
echo operate(222,100,$option); 
+2

這就是爲什麼你的答案更好,我的答案只是懶惰:)並假設用戶會得到它,:)我已經編輯它爲你一點如何調用它但爲+1 :) – Val

+1

我希望我可以給你另一個+1拋出新的例外:) :) – Val