$dataNames = [
'John, Middle Johnson',
'John, Johnson',
'Ann, Middle Mikelson',
'Ann, Mikelson',
];
$result = [];
foreach ($dataNames as $string) {
$items = explode(',', $string);
$first = array_shift($items);
$lastPart = array_shift($items);
$lastNames = explode(' ', trim($lastPart));
$lasName = $lastNames[1] ?? $lastNames[0];
$result[] = $first . ' ' . $lasName;
}
echo "<pre>";
print_r($result);
echo "</pre>";
exit('debug');