0
我想从变量/数组中执行运算符。从一个变量执行运算符
我有一个数组这样的:
Array
(
[0] => Array
(
[0] => Array
(
[0] => 6
[1] => +
[2] => 2
[3] => +
[4] => 4
)
[1] => Array
(
[0] => 6
[1] => +
[2] => 2
[3] => -
[4] => 4
)
[2] => Array
(
[0] => 6
[1] => +
[2] => 2
[3] => *
[4] => 4
)
阵列内的总运营商和整数是动态的。我可以有6个操作员的7个整数。它总是在格式[int + op + int + op +int ....]
我想使用eval()
。我知道eval是邪恶的,不推荐使用,但我不公开使用它。
我坚持这个和平的代码:
function getResults($array) {
$result = array();
foreach($array as $key => $subarray) {
$eval = '';
$result[$key] = array();
foreach($subarray as $subsubarray) {
$exec = '';
foreach($subsubarray as $data) {
$exec .= ' ' . $data;
}
ltrim($exec ,' ');
$result = eval("?>$exec");
echo $result;
}
}
}
当我执行此我得到这个:
6 + 2 + 4
6 + 2 - 4
6 + 2 * 4
6 + 2/4
6 - 2 + 4
6 - 2 - 4
6 - 2 * 4
6 - 2/4
....
我期待着得到这样的结果:
8
4
14
我该怎么做?
谢谢,现在就工作。我知道,当你不正确地使用它时,评估是危险的。 –