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
我該怎麼做?
謝謝,現在就工作。我知道,當你不正確地使用它時,評估是危險的。 –