[英]PHP Eval variable and set another variable
如果我有这样的字符串:
0+1+0+0+0+0+0+1+0+1+1+1+1+0+0+1+0+1+1+1+1+0+0+1+0+0+1+0+0+0+0+0+0+1+1+0+1+1+0+0+0+1+1+0+1+1+0+1+0+1+1+0+0+0+0+1+0+1+1+0+1+1+1+1
我需要它确实做数学。
所以如果$a = '0+1+0+0+0+0+0+1'
它会设置另一个变量并将其设置为:
2
如果你可以帮助它,你永远不应该eval
字符串。 有一个简单明智的解决方案来解析和总结这个特定的字符串:
$string = '0+1+...';
$result = array_sum(explode('+', $string));
如果你想支持更多可能的操作而不仅仅是+
,你会做一个稍微复杂的preg_split
,然后遍历结果项并评估每个单独的运算符,并根据循环中遇到的运算符求和或减去或等等。
您可以使用php eval
函数,如下所示。
<?php
$string="0+1+0+0+0+0+0+1+0+1+1+1+1+0+0+1+0+1+1+1+1+0+0+1+0+0+1+0+0+0+0+0+0+1+1+0+1+1+0+0+0+1+1+0+1+1+0+1+0+1+1+0+0+0+0+1+0+1+1+0+1+1+1+1";
eval("\$val=$string;");
var_dump($val);
?>
这将输出int(31)
,它是字符串中整数的总和
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.