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 相关文章推荐
How do I change MySQL timezone?
Mar 26 PHP
PHP随机数生成代码与使用实例分析
Apr 08 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
php检测用户是否用手机(Mobile)访问网站的类
Jan 09 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
详解PHP实现定时任务的五种方法
Jul 25 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 PHP
Yii2.0框架模型多表关联查询示例
Jul 18 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
十大“创意”战术!
2020/03/04 星际争霸
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
2012/04/09 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
php数组函数array_key_exists()小结
2015/12/10 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
2017/03/30 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
解决ant Design Search无法输入内容的问题
2020/10/29 Javascript
Python内置模块logging用法实例分析
2018/02/12 Python
python如何统计序列中元素
2020/07/31 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
车辆年审委托书范本
2014/09/18 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python
Python与C++中梯度方向直方图的实现
2022/03/17 Python