2017-02-18 57 views
0

我只是需要一个提示功能,显示以前的格式的时间。 在我的数据库中,我有时间作为时间戳记。有来自用户的评论作为时间戳。这个日期需要及时转换。我有一个功能,但不能为每个评论召回。它只有1次发表1条评论。有人可以帮忙吗?php时间前功能

这是我的功能

function humanTiming($time) 
{ 

$time = time() - $time; // to get the time since that moment 
$time = ($time<1)? 1 : $time; 
$tokens = array (
    31536000 => 'year', 
    2592000 => 'month', 
    604800 => 'week', 
    86400 => 'day', 
    3600 => 'hour', 
    60 => 'minute', 
    1 => 'second' 
); 

foreach ($tokens as $unit => $text) { 
    if ($time < $unit) continue; 
    $numberOfUnits = floor($time/$unit); 
    return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':''); 
} 

} 
+0

你转换时间戳划时代它传递给'humanTiming前()' –

+0

不,我不@DanielSmith –

+0

是你的权利@GautamKrishnaR但功能不能重新声明2个注释例如。 –

回答

0

这可能是重复的,但关闭它不会告诉你在你的代码是什么问题。

return statement将立即从函数中返回传递的值,并结束函数的执行。所以你永远不会超过你的foreach循环的第一次运行。也许你想要做的就是这样的事情,在那里你建立一个字符串中的循环,然后返回它:

$ret = ""; 
foreach ($tokens as $unit => $text) { 
    if ($time < $unit) continue; 
    $numberOfUnits = floor($time/$unit); 
    $ret .= $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':''); 
} 
return $ret; 

我其实没有检查你的代码会工作,但是这是问题的关键你的问题。