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