<?php
	$string = "(731) some text here with number 2 (220) some 54 number other text here";
 
	preg_match_all("/\((\d{3})\) *([^( ]*(?> +[^( ]+)*)/", $string, $matches);
	$result = array_combine($matches[1], $matches[2]);
	
	print_r($result);
	
?>