Эта функция отлично работает, если я отключил ошибки. Но я должен их решить. Так я включил ошибки и нашел следующие ошибки:Ошибки: неопределенная переменная: retval и неопределенная постоянная длина - предполагаемая длина '
Notice: Undefined variable: retval in /home/content/79/9482579/html/gamelinkexchange.com/all/function.php on line 20
Notice: Use of undefined constant length - assumed 'length' in /home/content/79/9482579/html/gamelinkexchange.com/all/function.php on line 55
Вот моя функция:
function time_ago($date,$granularity=2) {
date_default_timezone_set('Asia/Calcutta');
$date = strtotime($date);
$difference = time() - $date;
$periods = array('decade' => 315360000,
'year' => 31536000,
'month' => 2628000,
'week' => 604800,
'day' => 86400,
'hour' => 3600,
'minute' => 60,
'second' => 1);
foreach ($periods as $key => $value) {
if ($difference >= $value) {
$time = floor($difference/$value);
$difference %= $value;
$retval .= ($retval ? ' ' : '').$time.' '; /*error*/
$retval .= (($time > 1) ? $key.'s' : $key);
$granularity--;
}
if ($granularity == '0') { break; }
}
return $retval.' ago';
}
function gethours($str)
{
if(strpos($str, "decade"))
{
return 0;
}
else if(strpos($str, "year"))
{
return 0;
}
else if(strpos($str, "month"))
{
return 0;
}
else if(strpos($str, "week"))
{
return 0;
}
else if(strpos($str, "day"))
{
return 0;
}
else if(strpos($str, "hours"))
{
$strarr= explode(" ",$str);
$j=0; /*error*/
for($i=0;$i<$strarr.length;$i++)
{
if($strarr[$i]=="hours")
{
$j=$i-1;
}
}
return $strarr[$j];
}
else { return 1; }
}
Эта функция работает очень медленно, поэтому мне нужно, чтобы решить эти ошибки. Я пробовал решение, представленное на других страницах этого сайта и других форумах, но ничего не помогло. Пожалуйста, предоставьте хорошее решение, которое потребляет меньше ресурсов.
Мне нужно решение. Потому что каждая запись должна проходить время.
Это мой первый вопрос, я новичок, пожалуйста, помогите. Спасибо.
Это действительно не "делать свою работу для меня" сайта, и этот вопрос, похоже, особенно подходит для того, чтобы закончить вашу работу за вас, а не задавать вопрос, который будет полезен будущим посетителям. – cdhowie