Используйте /(\w+)\((.*?)\)(?=\w+\(|$)/
шаблон регулярного выражения, который соответствует любой строке перед круглыми скобками и строка в ()
после нее.
preg_match_all("/(\w+)\((.*?)\)(?=\w+\(|$)/", $string, $m);
$result = array_combine($m[1], $m[2]);
Проверьте результат в demo