Что-то почитал... если у вас задача по проверке правильной скобочной последовательности, то можно сделать так:
$str = '(a[b]3)[c';
$str = preg_replace('/[^\(\)\[\]\{\}]/', '', $str); //убираем все НЕ скобки
$brackets = explode('', $str);
ну а дальше раскладываем в стэк (читать про обратную польскую запись), и если он внезапно к концу строки будет не пустым - у нас что-то не так со скобками.