0

我正在用 PHP 制作非常简单的程序。先尝试添加..

但是不知道..

这是代码

<?php 
$a=12;
$b=10;
$c="+";

$res=$a."$c".$b;
echo $res;
?>

它输出 12+10 因为它是 concate ..

$c 是任何东西。

任何想法如何做到这一点

4

3 回答 3

5

$c 现在是一个字符串,而不是一个表达式,“+”不等于 +。

所以:

$res=$a + $b;

如果你真的需要你的结构,你将不得不做一些邪恶的事情,比如使用 eval() 或者你可以这样做:

$a=12;
$b=10;
$operator='+';

switch($operator) {
  case '+':
    $res=$a + $b;
    break;
  case '-':
    $res=$a - $b;
    break;
}
于 2012-06-30T09:44:26.427 回答
2

你到底想做什么?

如果您将运算符作为字符串,您可以尝试以下switch语句:

<?php 
$a=12;
$b=10;
$c="+";

switch($c) {
  case '+': 
      $res = $a + $b;
      break;

  case '-':
      $res = $a - $b;
      break;
}
var_dump($res);
?>
于 2012-06-30T09:45:36.580 回答
0

是的,PHP 也有一个eval(uate)功能:

$res = eval($a . $c . $b);

确保 $a、$b 和 $c 不是来自表单输入,因为 eval 可以删除等等。

于 2012-06-30T09:49:06.623 回答