如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<?php /** * Description: () 匹配 )(不匹配 利用压栈和出栈 * @author Mr Lv */ function isValid( $expstr ) { $temp = array (); for ( $i =0; $i < strlen ( $expstr ); $i ++) { $ch = $expstr [ $i ]; switch ( $ch ) { case '(' : array_push ( $temp , '(' ); break ; case ')' : if ( empty ( $temp ) || array_pop ( $temp ) != '(' ) { return "缺少左括号(" ; } } } return empty ( $temp ) == true ? "表达式匹配" : "缺少右括号)" ; } $expstrA = "(1+3(6*4)-(2+3))()(" ; $expstrB = "(1+3(6*4)-(2+3))()" ; $expstrC = "(1+3(6*4)-(2+3)))" ; echo isValid( $expstrA ); echo "<br>" ; echo isValid( $expstrB ); echo "<br>" ; echo isValid( $expstrC ); ?> |
页面信息:
1
2
3
|
缺少右括号) 表达式匹配 缺少左括号( |
以上就是小编为大家带来的PHP判断表达式中括号是否匹配的简单实例全部内容了,希望大家多多支持服务器之家~