<?php

function getDays($value)
{
    return implode(', ', array_map(function($day)
    {
    	return call_user_func(
    		function($src, $key)
    		{
    			return $src[$key];	
    		},
    		[
		        'понедельник',
		        'вторник',
		        'среда',
		        'четверг',
		        'пятница',
		        'суббота',
		        'воскресенье',
		    ],
		    $day - 1);
    }, $value));
}

function getDaysOrig($value)
{
    $days = [
        1=>'понедельник',
        2=>'вторник',
        3=>'среда',
        4=>'четверг',
        5=>'пятница',
        6=>'суббота',
        7=>'воскресенье',
    ];
    
    foreach ($value as $day) {
        $result[] = $days[$day];
    }
    
    return implode(', ',$result);
}


$t = microtime(true);
for ($i = 0; $i < 90000; ++$i) {
	getDays([2, 5, 6]);
}
$t = microtime(true) - $t;

$tOrig = microtime(true);
for ($i = 0; $i < 90000; ++$i) {
	getDaysOrig([2, 5, 6]);
}
$tOrig = microtime(true) - $tOrig;

echo "New: {$t}; Orig: {$tOrig}\n";