- assert: documentation ( source)
- array_push: documentation ( source)
- array_pop: documentation ( source)
<?php
function isCorrect($string) {
$len = strlen($string);
$stack = array();
for( $i = 0; $i < $len; ++$i)
{
if ( $string[$i] == '(' || $string[$i] == '{' || $string[$i] == '[') array_push($stack, $string[$i]);
elseif( $string[$i] == ')' || $string[$i] == '}' || $string[$i] == ']')
{
if ( empty($stack) === false ) array_pop($stack);
else return false;
}
}
return empty($stack);
}
assert(isCorrect('') === true);
assert(isCorrect('()') === true);
assert(isCorrect('{()}') === true);
assert(isCorrect('{()}{}') === true);
assert(isCorrect('(())') === true);
assert(isCorrect('{({({({()})})})}') === true);
assert(isCorrect('{(})') === false);