1. 程式人生 > >括號配對&&合法性檢測(php語言)

括號配對&&合法性檢測(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));