fork(1) download
  1. <?php
  2.  
  3. function getDays($value)
  4. {
  5. return implode(', ', array_map(function($day)
  6. {
  7. function($src, $key)
  8. {
  9. return $src[$key];
  10. },
  11. [
  12. 'понедельник',
  13. 'вторник',
  14. 'среда',
  15. 'четверг',
  16. 'пятница',
  17. 'суббота',
  18. 'воскресенье',
  19. ],
  20. $day - 1);
  21. }, $value));
  22. }
  23.  
  24. function getDaysOrig($value)
  25. {
  26. $days = [
  27. 1=>'понедельник',
  28. 2=>'вторник',
  29. 3=>'среда',
  30. 4=>'четверг',
  31. 5=>'пятница',
  32. 6=>'суббота',
  33. 7=>'воскресенье',
  34. ];
  35.  
  36. foreach ($value as $day) {
  37. $result[] = $days[$day];
  38. }
  39.  
  40. return implode(', ',$result);
  41. }
  42.  
  43.  
  44. $t = microtime(true);
  45. for ($i = 0; $i < 90000; ++$i) {
  46. getDays([2, 5, 6]);
  47. }
  48. $t = microtime(true) - $t;
  49.  
  50. $tOrig = microtime(true);
  51. for ($i = 0; $i < 90000; ++$i) {
  52. getDaysOrig([2, 5, 6]);
  53. }
  54. $tOrig = microtime(true) - $tOrig;
  55.  
  56. echo "New: {$t}; Orig: {$tOrig}\n";
Success #stdin #stdout 1.49s 52472KB
stdin
Standard input is empty
stdout
New: 1.086207151413; Orig: 0.3884711265564