Используйте explode, чтобы преобразовать в массив, array_pop, чтобы получить последний элемент массива (удаление в процессе), mb_strtoupper, чтобы использовать для заглавных букв даже специальные символы, такие как é õ õ á, и взорвать, чтобы снова склеить с пробелом:
$name1 = 'Carlos Marinz Dutra';
$name2 = 'Joao da Silva';
$name1 = explode(' ', $name1);
echo mb_strtoupper(array_pop($name1)).', '.implode(' ', $name1);
$name2 = explode(' ', $name2);
echo mb_strtoupper(array_pop($name2)).', '.implode(' ', $name2);
Вывод:
DUTRA, Carlos Marinz
SILVA, Joao da