Вы можете использовать array_slice
, чтобы получить все элементы в массиве, кроме последнего, и создать для него особый случай:
function formatList($response)
{
if(count($response) == 0)
return '' ;
if(count($response) == 1)
return $response[0] ;
else
return join(', ', array_slice($response, 0, count($response)-1)) . ' AND ' . end($response);
}