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 相关文章推荐
用session做客户验证时的注意事项
Oct 09 PHP
php下实现伪 url 的超简单方法[转]
Sep 24 PHP
ThinkPHP php 框架学习笔记
Oct 30 PHP
destoon数据库表说明汇总
Jul 15 PHP
php 删除cookie方法详解
Dec 01 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
joomla实现注册用户添加新字段的方法
May 05 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
PHP实现支持CURL字符串证书传输的方法
Mar 23 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 PHP
详解no input file specified 三种解决方法
Nov 29 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
php 无限级缓存的类的扩展
2009/03/16 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
php实现字符串首字母大写和单词首字母大写的方法
2015/03/14 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
JS实现探测网站链接的方法【测试可用】
2016/11/08 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
2018/01/23 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
python 去除二维数组/二维列表中的重复行方法
2019/01/23 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
网络编辑职责
2014/03/01 职场文书
2014年后勤工作总结
2014/11/18 职场文书
大学生村官入党自传
2015/06/26 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL
MySQL派生表联表查询实战过程
2022/03/20 MySQL
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android