It is possible to name the subpattern with (?P<name>pattern) since PHP 4.3.3. Array with matches will contain the match indexed by the string alongside the match indexed by a number, then.
$pattern="/.*,(?P<name>.*?)像(?P<duty>.*?)吗?/";
$source="看起来,小陈像架构师吗?";
preg_match($pattern,$source,$matches);
echo($matches[1]."<br>");
echo($matches[2]."<br>");
echo($matches["name"]."<br>");
echo($matches["duty"]."<br>");