要求:一个字符串含有”([{}])”,大中小三种括号;要求判断该字符串的括号是否合法匹配。
写一个函数: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));