PHP Bracket
function bracket(string $s): int
{
    $stack = [];
    foreach (str_split($s) as $v) {
        switch ($v) {
            case ')':
                if (empty($stack) || array_pop($stack) !== '(') {
                    return 0;
                }
                break;
            case ']':
                if (empty($stack) || array_pop($stack) !== '[') {
                    return 0;
                }
                break;
            case '}':
                if (empty($stack) || array_pop($stack) !== '{') {
                    return 0;
                }
                break;
            default:
                if ( ! empty($v)) {
                    $stack[] = $v;
                }
                break;
        }

    }

    return empty($stack) ? 1 : 0;
}

This uses a simple stack approach: open brackets go in, matching closing brackets pop them out.