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

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

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;

        }

    }

}
ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室