Вам нужно преобразовать свой массив вместо итерации с помощью foreach. Вы можете сделать это с помощью array_map
.
Синтаксис PHP 5.3 с замыканиями
echo implode(", ", array_map(function($name) use($url, $title)
{
return '<a href="' . $url . '" title="' . $title . '">' . $name .'</a>';
}, $names));
Совместимый синтаксис до PHP 5.3
function createLinkFromName($name)
{
return '<a href="' . $url . '" title="' . $title . '">' . $name .'</a>';
}
echo implode(", ", array_map('createLinkFromName', $names));
Синтаксис PHP 5.3 с лучшей надежностью
function a_map($array, $function)
{
return array_map($function, $array);
}
echo implode(", ", a_map($names, function($name) use($url, $title)
{
return '<a href="' . $url . '" title="' . $title . '">' . $name .'</a>';
}));