我有3个变量:
$a = 5;
$b = 3
$o = "*";
$ o变量包含字符串值。该值也可以是“/”,“+”,“ - ”。
所以当我连接$ a。$ o。$ b:
时$result = $a.$o.$b;
echo $result;
结果为5*3
(字符串),而不是15
。
那么如何将运算符字符串转换为实数运算符?
答案 0 :(得分:1)
你不能,你需要创建一个函数或switch语句来检查每个运算符。
Read this question and its answers所以你会明白怎么做。
答案 1 :(得分:1)
实际上你可以使用eval来做到这一点。但是建议使用eval会很痛苦,所以我只是给你一个链接到另一个问题的答案:calculate math expression from a string using eval
答案 2 :(得分:1)
您可以使用eval。例如:
eval('echo 5*3;')
将回显数字15。
答案 3 :(得分:1)
简单,简短并保存解决方案:
$a = 5;
$b = 3
$o = "*";
$simplecalc = function($a,$b,$op) {
switch($op):
case "*":
return $a*$b;
case "+":
return $a+$b;
case "-":
return $a-$b;
case "/";
return $a/$b;
default:
return false;
endswitch;
};
$result = $simplecalc($a,$b,$o);
答案 4 :(得分:1)
我相信这就是你要找的东西。
$wijzignaam = $_POST['wijzignaam'];
$xmlfile = file_get_contents('../xmlfile.xml');
$xml = new SimpleXMLElement($xmlstr);
$xpath = $xml->xpath('object/name["'.$wijzignaam.'"]');
print_r($xpath);
请注意,使用eval()非常危险,因为它允许执行任意PHP代码。