如下所示:
<?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判斷表達式中括號是否匹配的簡單實例全部內容了,希望大家多多支持幫客之家~