PHP判断表达式中括号是否匹配的简单实例


Posted in PHP onOctober 22, 2016

如下所示:

<?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 adodb介绍
Mar 19 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 PHP
PHP session会话的安全性分析
Sep 08 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
php清除和销毁session的方法分析
Mar 19 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 PHP
php常用正则函数实例小结
Dec 29 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 #PHP
PHP 常用时间函数资料整理
Oct 22 #PHP
详解PHP编码转换函数应用技巧
Oct 22 #PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 #PHP
PHP实现多关键字加亮功能
Oct 21 #PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 #PHP
PHP与服务器文件系统的简单交互
Oct 21 #PHP
You might like
初探PHP5
2006/10/09 PHP
$_GET['goods_id']+0 的使用详解
2013/06/06 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
网站404页面3秒后跳到首页的实例代码
2013/08/16 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
vue指令以及dom操作详解
2017/03/04 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
JavaScript 中的六种循环方法
2021/01/06 Javascript
[46:02]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第二局
2016/02/28 DOTA
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
python并发和异步编程实例
2018/11/15 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
澳大利亚相机之家:Camera House
2017/11/30 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
商务英语本科生的自我评价分享
2013/11/15 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书
Python图片处理之图片裁剪教程
2021/05/27 Python
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android