fork download
  1. <?php
  2. function italico(&$array) {
  3. $cant = count($array);
  4.  
  5. if ($cant==0) return null;
  6. $salida = null;
  7.  
  8. if ($cant>1)
  9. {
  10. for ($i=0;$i<$cant-2;$i++)
  11. $salida .= $array[$i].' ,';
  12.  
  13. return $salida.$array[$cant-2].' y '.$array[$cant-1];
  14.  
  15. }else
  16. return $array[0];
  17. }
  18.  
  19. function alexis($array) {
  20. $string = implode(", ", $array);
  21. return substr_replace ($string, " y ", strrpos($string, ","), 2);
  22. }
  23.  
  24. $array = array("uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince", "dieciseis", "diecisiete", "dieciocho", "diecinueve", "veinte");
  25.  
  26. $ini1 = microtime(true) * 1000;
  27. for ($i = 0; $i < 1000; $i++)
  28. italico($array);
  29. $fin1 = microtime(true) * 1000;
  30. $tiempoItalico = $fin1 - $ini1;
  31.  
  32. $ini2 = microtime(true) * 1000;
  33. for ($i = 0; $i < 1000; $i++)
  34. alexis($array);
  35. $fin2 = microtime(true) * 1000;
  36. $tiempoAlexis = $fin2 - $ini2;
  37.  
  38. echo "Italico: " . $tiempoItalico."\n";
  39. echo "Alexis: " . $tiempoAlexis;
Success #stdin #stdout 0.02s 20520KB
stdin
Standard input is empty
stdout
Italico: 9.85205078125
Alexis: 3.031982421875