Вот пример кода, который должен работать нормально:
<?php
function getCanonicalName($name) {
// Check for the existance of a comma and swap 'elements' if necessary.
if(strpos($name, ',') !== false) {
list($surname, $forename) = explode(',', $name);
$name = $forename . ' ' . $surname;
}
// Trim the name.
return trim($name);
}
// Test data and file I/O.
$outputData = '';
$testData = array('Obama, Barak', 'Federer, Roger', 'John Parker');
foreach($testData as $name) {
$outputData .= getCanonicalName($name) . "\n";
}
file_put_contents('current_name.txt', $outputData, FILE_APPEND);
?>
Кстати, это (как и все решения, в настоящее время прилагаемые к вашему вопросу) приведет к потере данных, если в $ name указано несколько запятых.Таким образом, если это возможно, вы должны обновить getCanonicalName, чтобы учесть эту возможность.