Rumah >pembangunan bahagian belakang >tutorial php >PHP判断表达式中括号是否匹配的简单实例

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

巴扎黑
巴扎黑asal
2017-05-26 16:06:311294semak imbas

下面小编就为大家带来一篇PHP判断表达式中括号是否匹配的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

如下所示:


<?php  
/** 
 * title: 判断表达式中括号是否匹配 
 * Description: () 匹配 )(不匹配 利用压栈和出栈 
 * @author Mr Lv   

 */   
function isValid($expstr) { 
  $temp = array(); 
  for ($i=0; $i<strlen($expstr); $i++) { 
    $ch = $expstr[$i]; 
    switch($ch) { 
      case &#39;(&#39;: 
        array_push($temp, &#39;(&#39;); 
        break; 
      case &#39;)&#39;: 
        if (empty($temp) || array_pop($temp) != &#39;(&#39;) { 
          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); 
?>

页面信息:


缺少右括号) 
表达式匹配 
缺少左括号(

Atas ialah kandungan terperinci PHP判断表达式中括号是否匹配的简单实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP json_decode函数用法详解Artikel seterusnya:PHP基本语法汇总