
封装一个四则运算类php
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
/**
* 这个类只是实现了大体的思路 有待完善
*/
class op extends SplStack {
/**
* 计算表达式
* 输入的表达式必须是 逆波兰表达式
*/
public function parse($str) {
foreach(explode(',',$str) as $v) {
if(is_numeric($v)) {
$this->push($v);
continue;
}
if($this->count() > 1) {
$this->push($this->pop().$v.$this->pop());
}
}
if($this->count()) {
$str = '$result = '.$this->pop().';';
$tmp = eval($str);
if($tmp === false) {
throw new Exception("输入的表达式不是合格的逆波兰表达式");
}
return $result;
}
return false;
}
}
$op = new op();
echo $op->parse('1,2,3,-,+');
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询