如下所示:
<?php /** * title: 判断表达式中括号是否匹配 * Description: () 匹配 )(不匹配 利用压栈和出栈 * @author Mr Lv */ 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); ?>
页面信息:
缺少右括号) 表达式匹配 缺少左括号(
以上就是PHP判断表达式中括号是否匹配的简单实例的详细内容,更多请关注php中文网其它相关文章!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
- 上一篇:PHP json_decode函数用法详解
- 下一篇:PHP基本语法汇总
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论