for($i=0;$i<$listp;$i++){
$listt = $list[$i];//循环数组
$valid = array($listt['valid']);//有效期
$id = $listt['id'];//id
$time = $listt['addtime'];//发布日期
$ntime = time();//当前日期
//$nowtime = date("Y-m-d",$ntime);//当前日期格式化
//$datas = array();//申明数组;多余的
//$update = date("Y-m-d",$time);//发布日期格式化
//$d1=strtotime($update);
//$d2=strtotime($nowtime);
$Days=round(($ntime-$time)/3600/24);//公式: 当前时间 - 录入时间 = 计算间隔时间
//$thistime = "86400";
if($valid[0] == "当天"){
if($Days > 1){
$datas[$id] = "当前信息已过期";
}else{
$date = 1 - $Days;
$datas[$id] = "离结束时间还有".$date."天";
}
}
if($valid[0] == "三天"){
if($Days > 3){
$datas[$id] = "当前信息已过期";
}else{
$date = 3 - $Days;
$datas[$id] = "离结束时间还有".$date."天";
}
}
if($valid[0] == "一周"){
if($Days > 7){
$datas[$id] = "当前信息已过期";
}else{
$date = 7 - $Days;
$datas[$id] = "离结束时间还有".$date."天";
}
}
if($valid[0] == "一个月"){
if($Days > 30){
$datas[$id] = "当前信息已过期";
}else{
$date = 30 - $Days;
$datas[$id] = "离结束时间还有".$date."天";
}
}
if($valid[0] == "三个月"){
if($Days > 90){
$datas[$id] = "当前信息已过期";
}else{
$date = 90 - $Days;
$datas[$id] = "离结束时间还有".$date."天";
}
}
if($valid[0] == "长期"){
$datas[$id] = "本信息长期有效";
}
}
$this->assign('overday',$datas);以上代码在模板接收的时候只能接收到一个值。,根据最终结果判断,这个问题出在变量申明数组上面,。只要取消申明数组即可。 最佳答案