一个奇怪的函数。。我没弄懂。。 [ 新手入门 ]
function time_ago($t, $f = 'd. F Y\, H:i') {
$o = time () - $t;
var_dump($o);
//echo $o;
switch ($o) {
case ($o < 60) :
return '<span id="locale_less_a_min">'.Yii::app()->session['Locale']['locale_less_a_min'].'</span>';
break;
case ($o <= 90) :
return '<span id="locale_one_min">'.Yii::app()->session['Locale']['locale_one_min'].'</span>';
break;
case ($o <= 59 * 60) :
return round ( $o / 60 ) . ' <span id="locale_mins">'.Yii::app()->session['Locale']['locale_mins'].'</span>';
break;
case ($o <= 60 * 60 * 1.5) :
return '<span id="locale_one_hour">'.Yii::app()->session['Locale']['locale_one_hour'].'</span>';
break;
case ($o <= 60 * 60 * 24) :
return round ( $o / 60 / 60 ) . ' <span id="locale_hours">'.Yii::app()->session['Locale']['locale_hours'].'</span>';
break;
case ($o <= 60 * 60 * 24 * 1.5) :
return '<span id="locale_at_yesterday">'.Yii::app()->session['Locale']['locale_at_yesterday'].'</span> ' . date ( 'H:i', $t );
break;
default :
//return date ( 'd. F Y' . ' At ' . 'H:i', $t );
return date ( 'Y-m-d H:i', $t);
}
}
这个函数是我问别人要的,但是发现一个奇怪的问题,当$o ==0也就是 ar_dump($o)
显示int(0)
的时候,直接使用了 date('Y-m-d H:i', $t)
,也就是使用了 default来输出。当时间passed1秒之后,就变成了 <60那个输入。。。
这个是为什么呢? 我var_dump($o < 60)
输出为true但是一样是用的default
共 4 条回复
BoyLee
注册时间:2011-03-10
最后登录:2019-12-26
在线时长:20小时5分
最后登录:2019-12-26
在线时长:20小时5分
- 粉丝22
- 金钱2810
- 威望150
- 积分4510