php教程

超轻量级php框架startmvc

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

更新时间:2020-03-13 16:02:52 作者:startmvc
如下所示:<?php/***title:判断表达式中括号是否匹配*Description:()匹配)(不匹配利用压栈和

如下所示:


<?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判断表达式中括号是否匹配的简单实例全部内容了,希望大家多多支持脚本之家~

正则表达式 匹配括号