您的位置:首页 > 编程语言 > PHP开发

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

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

 

写一个函数: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));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息