您当前的位置: > 个人博客 > php分类

php 用栈的知识 检查中括号小括号和大括号是否匹配

2017-01-10 10:42:24 点击量:29 标签: 收藏本文

<?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;

        }

    }

}
CONTACT US

地址:武汉腾讯大楚网

电话:1997567510

电子邮件:5367604@qq.com

若需在线联系,可直接点击下面按钮咨询