@ 2014-09-18T04:57:36Z <?php
test('()');
test('())');
test('(())');
test('))((');
test(')(');
test(')((');
test('((()(');
test('((()()(())))');
test('((()()(()))');
test('foo((bar)is(((baz))and)quix)');
function test($str) {
echo "$str is ".(is_balanced($str)?'balanced':'not balanced')."\n";
}
function is_balanced($str) {
$count = 0;
for($i=0;$i<strlen($str);$i++) {
switch($str[$i]) {
case '(':
$count++;
break;
case ')':
$count--;
if($count < 0) return false;
// ignore everything else
}
}
return $count == 0;
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 4.3.0 - 4.3.11 , 4.4.0 - 4.4.9 , 5.0.0 - 5.0.5 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 , 5.4.0 - 5.4.45 , 5.5.24 - 5.5.35 , 5.6.7 - 5.6.28 , 7.0.0 - 7.0.20 , 7.1.0 - 7.1.20 , 7.2.0 - 7.2.33 , 7.3.16 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 () is balanced
()) is not balanced
(()) is balanced
))(( is not balanced
)( is not balanced
)(( is not balanced
((()( is not balanced
((()()(()))) is balanced
((()()(())) is not balanced
foo((bar)is(((baz))and)quix) is balanced
preferences:dark mode live preview
204.28 ms | 406 KiB | 313 Q