PHP判断表达式中括号是否匹配

来源:互联网 发布:软件售后服务系统流程 编辑:程序博客网 时间:2024/06/05 16:33
<?php /** * title: 判断表达式中括号是否匹配  * Description: () 匹配  )(不匹配 利用压栈和出栈  * @author Mr Lv     * @date 2011-11-28    */    function isValid($expstr) {$temp = array();for ($i=0; $i<strlen($expstr); $i++) {$ch = $expstr[$i];switch($ch) {case '(':array_push($temp, '(');break;case ')':if (empty($temp) || array_pop($temp) != '(') {return "缺少左括号(";}}}return empty($temp) == true ? "表达式匹配" : "缺少右括号)";}$expstrA = "(1+3(6*4)-(2+3))()(";$expstrB = "(1+3(6*4)-(2+3))()";$expstrC = "(1+3(6*4)-(2+3)))";echo isValid($expstrA);echo "<br>";echo isValid($expstrB);echo "<br>";echo isValid($expstrC);?> 

页面信息:

缺少右括号)表达式匹配缺少左括号( 



原创粉丝点击