Udesign, вроде бы то, что тебе было нужно:
$need = '(asdasd) ((asdasd)) ()asdasd';
echo countBrackets($need); // YES
function countBrackets($str) {
preg_match_all('~(?<open>\()|(?<clos>\))~', $str, $all);
$open = count(array_filter($all['open']));
$clos = count(array_filter($all['clos']));
return ($open == $clos ? 'YES' : 'NO');
}