括号配对&&合法性检测(php语言)

要求:一个字符串含有”([{}])”,大中小三种括号;要求判断该字符串的括号是否合法匹配。

 

写一个函数:bool is_valid_brackets(string str);

参数是字符串

返回值:true或者false;


<?php
    /**
    *返回值:Boolean
    */
    function is_valid_brackets($str){
        $Symbol = array('('=>')','['=>']','{'=>'}');
        $Stack = array();//存放匹配到的括号
        foreach(str_split($str) as $key=>$val){
        	if(in_array($val,array_keys($Symbol))){
        		array_push($Stack,$val);//压入数组
        	}
        	if(in_array($val,array_values($Symbol))){
        		if($val != @$Symbol[array_pop($Stack)]){
					return false;
        		}
        	}
        }
         return empty($Stack)?true:false;
    }
    $str = '[}';
    var_dump(is_valid_brackets($str));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值