实现一个方法,输入为字符串,例如:“(1+2)*3-4”,返回计算式的结果。

假设输入一定正确,不存在错误输入的字符串,运算符号仅包括:+-*/(),所有运算仅在正整数范围内

5个回答


eval('$rst=(1+2)*3-4;');
echo $rst;

百度PHP eval php

u010454267
技术狼 主要我考虑括号优先级,用程序写暂时没有思路
3 年多之前 回复

如果想自己写,就看看后缀表达式

u010454267
技术狼 请教一下,如果用后缀表达式入栈后,怎么样求得公式计算的值,例如:9 3 1 - 3 * + 10 2 / +,我用后缀表达式写出了的顺序
3 年多之前 回复

有个VC用的yacc,Sample中就有实现

u010454267
技术狼 嗯,我先考虑php怎么写
3 年多之前 回复

过滤运算符,把数字按顺序存放起来,在根据匹配到的运算符对数字组进行先后顺序的运算得出结果

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问