欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-04-02 11:27:22
如下所示:

如下所示:

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