2017-01-10 10:42:24 点击量:114 标签: 收藏本文
<?php
$symbols = array('(' => ')', '[' => ']', '{' => '}');
$stack = array();
$str = 'asd{asd[asdf}asdf}asdf';
foreach (str_split($str) as $char) {
//压栈
if(in_array($char, array_keys($symbols))) {
array_push($stack, $symbols[$char]);
// 出栈
}else if(in_array($char, array_values($symbols))) {
if ($char != array_pop($stack)) //不匹配
{
echo 'faild!';
break;
}
}
}