Должен ли я сохранить результат функции в массиве?

У меня есть такая функция:

function time_elapsed_string($ptime)
{
            $date_time = strtotime("1348-10-10 04:30:01") + $ptime;
            $year = date("Y",$date_time);
            $month = date("m",$date_time);
            $day = date("d",$date_time);
            $time = date("H:i:s",$date_time);

    $etime = time() - $ptime + 1;

    $a = array( 31536000  =>  'year',
                 2592000  =>  'month',
                   86400  =>  'day',
                    3600  =>  'hour',
                      60  =>  'minute',
                       1  =>  'second'
                );

    foreach ($a as $secs => $str)
    {
        $d = $etime / $secs;
        if ($d >= 1)
        {
            $r = round($d);
                                                                   // EX:
            return array('date' => $day.'-'.$month.'-'.$year,      // 2016-02-20
                         'time' => $time,                          // 03:30:04
                         'difference' => $r . ' ' . $str . ' ago'  // 2 month ago
                        );
        }
    }
}

И я использую это так:

$ptime = 1470692661;
$html = '<span title="date: '.time_elapsed_string($ptime)['date'].' time: '.time_elapsed_string($ptime)['time'].'">in '.time_elapsed_string($ptime)['difference'].'<span>';

Как видите, я использую результат этой функции следующим образом:

time_elapsed_string($ptime)['date']
ime_elapsed_string($ptime)['time']
time_elapsed_string($ptime)['difference']

Фактически, я вызываю эту функцию каждый раз, когда мне нужен один из ее результатов. Это правильно? Или я должен вызвать его один раз и сохранить в массиве?

Замечания: Мой код тоже работает.

Ответы на вопрос(2)

Ваш ответ на вопрос