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