3v4l.org

run code in 300+ PHP versions simultaneously
<?php function Parenthesis($string) { $opening = array('}' => '{', ']' => '[', ')' => '('); $parens = array(); foreach (str_split($string) as $char) { switch ($char) { case '{': case '[': case '(': $parens[] = $char; break; case '}': case ']': case ')': if (!count($parens) || array_pop($parens) != $opening[$char]) return false; break; default: break; } } return count($parens) === 0; } function check_balanced($string) { echo "$string is " . (Parenthesis($string) ? '' : 'not ') . "balanced\n"; } check_balanced("{([]){}()}"); check_balanced("{C{}[{[a]}RqhL]{y2}}"); check_balanced("{([]){]()}");
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
{([]){}()} is balanced {C{}[{[a]}RqhL]{y2}} is balanced {([]){]()} is not balanced

preferences:
144.01 ms | 407 KiB | 5 Q