fork download
<?php
function italico(&$array) {
    $cant = count($array);    
    
    if ($cant==0)  return null;        
    $salida = null;
        
    if ($cant>1)
    {
    	for ($i=0;$i<$cant-2;$i++)
        	$salida .= $array[$i].' ,';
        
		return $salida.$array[$cant-2].' y '.$array[$cant-1];  
            
	}else
    	return $array[0];
}

function alexis($array) {
	$string = implode(", ", $array);
	return substr_replace ($string, " y ", strrpos($string, ","), 2);
}
 
$array = array("uno", "dos", "tres"); 
 
$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;
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
Italico: 2.089111328125
Alexis: 1.692138671875