如何使用变量作为运算符?
我该怎么做?
$v1=105;
$v2=90;
if ($value=='subtraction'){
$operator='-';
}else{
$operator='+';
}
$new_value=$v1.$operator.$v2;
所以它应该返回 105-90=15 或 105+90=195。但是如何使用 $operator 变量作为运算符呢?例如,这不起作用:
eval("$new_value=$v1".$operator."$v2");
感谢您的帮助!
how can I do this?
$v1=105;
$v2=90;
if ($value=='subtraction'){
$operator='-';
}else{
$operator='+';
}
$new_value=$v1.$operator.$v2;
So it should return 105-90=15 or 105+90=195. But how can I use the $operator variable as a operator? For example this doesn't work:
eval("$new_value=$v1".$operator."$v2");
Thanks for the help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我建议不要这样做,但是要使用
eval
,你必须这样做:我建议这样做(即:不要使用运算符的变量,只需进行计算):
I suggest not doing this, but to use
eval
, you'd have to do it like this:I suggest doing it something like this instead (ie: Don't use a variable for operator, just do the calculation):
另一个答案更好,但如果你真的想做一些棘手的事情,我认为你可以让一个变量保存一个函数(而不是一个运算符)。
个人还没有在 PHP 中这样做过,但我认为你可以可以...
The other answer is better, but if you really want to do something tricky, I think you can have a variable hold a function (instead of an operator).
Haven't done that in PHP personally, but I think you can...
也许你可以改变这一点:
maybe you can change this:
为什么不让 $operator 成为一个函数呢?
Why not make $operator a function?