赞
踩
一开始的思路就是判断每种括号的开闭数量是否相等,其实虽然也能实现但是搞得太复杂了;
后来查了查
只需设一个常量,
左括号 +1,
右括号 -1,
闭合的话为0,
没闭合的话不为0,
出现<0即为顺序不对
- <?php
-
- $rr=isset($_GET['re'])?$_GET['re']:'';
- if(empty($rr)){
- die('请传入参数');
- }
- if($rr=='(' || $rr==')'){
- die('未闭合');
- }
- $rr_arr=str_split($rr);
- echo __get($rr_arr);
-
-
-
- function __get($rr_arr=[]){
- $d=0;
- foreach ($rr_arr as $k=>$v){
- if($v=='('){
- $d+=1;
- }
- if($v==')'){
- $d-=1;
- }
- if($d<0){
- break;
- }
- }
- return $d==0?'已闭合':'未闭合';
- }
-
- ?>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。