<?php
function italico(&$array)
{
    switch (count($array))
    {
    case 0: return null;
    case 1: return $array[0];
    default:    
        $ult = array_pop($array);
        return implode (' ,',$array).' y '.$ult;
    }    
}
 
function alexis($array) {
	$string = implode(", ", $array);
	return substr_replace ($string, " y ", strrpos($string, ","), 2);
}
 
$array = range(1, 500);
 
$ini1 = microtime(true) * 1000;
for ($i = 0; $i < 1000; $i++)
    italico($array);
$fin1 = microtime(true) * 1000;
$tiempoItalico = $fin1 - $ini1;
 
$ini2 = microtime(true) * 1000;
for ($i = 0; $i < 1000; $i++)
    alexis($array);
$fin2 = microtime(true) * 1000;
$tiempoAlexis = $fin2 - $ini2;
 
echo "Italico: " . $tiempoItalico."\n";
echo "Alexis: " . $tiempoAlexis;