我正在用 PHP 制作非常简单的程序。先尝试添加..
但是不知道..
这是代码
<?php
$a=12;
$b=10;
$c="+";
$res=$a."$c".$b;
echo $res;
?>
它输出 12+10 因为它是 concate ..
$c 是任何东西。
任何想法如何做到这一点
我正在用 PHP 制作非常简单的程序。先尝试添加..
但是不知道..
这是代码
<?php
$a=12;
$b=10;
$c="+";
$res=$a."$c".$b;
echo $res;
?>
它输出 12+10 因为它是 concate ..
$c 是任何东西。
任何想法如何做到这一点
$c 现在是一个字符串,而不是一个表达式,“+”不等于 +。
所以:
$res=$a + $b;
如果你真的需要你的结构,你将不得不做一些邪恶的事情,比如使用 eval() 或者你可以这样做:
$a=12;
$b=10;
$operator='+';
switch($operator) {
case '+':
$res=$a + $b;
break;
case '-':
$res=$a - $b;
break;
}
你到底想做什么?
如果您将运算符作为字符串,您可以尝试以下switch
语句:
<?php
$a=12;
$b=10;
$c="+";
switch($c) {
case '+':
$res = $a + $b;
break;
case '-':
$res = $a - $b;
break;
}
var_dump($res);
?>
是的,PHP 也有一个eval(uate)
功能:
$res = eval($a . $c . $b);
确保 $a、$b 和 $c 不是来自表单输入,因为 eval 可以删除等等。