PHP的data报错怎么办?

 <table border = "1" width = "700" >
     <tr>
       <th>留言标题</th>
           <th>留言人</th>
           <th>留言类型</th>
           <th>留言内容</th>
            <th>IP地址</th>
 <th>留言时间</th>
 <th>操作</th>
    </tr>
<?php
  // 获取留言信息,解析后输出到表格中
// 1.从留言liuyan.txt中获取留言信息
  $info = file_get_contents("liuyan.txt");
  // 2.去除留言内容最后的三个@@@符号
  $info = rtrim($info,"@");
  if(strlen($info)>='10'){
  // 3.以@@@符号拆分留言信息为一条一条的(将留言信息以@@@符号拆分成留言数组)
  $lylist = explode("@@@",$info);
   
  // 4.遍历留言信息数组,对每条留言做再次解析;
    foreach($lylist as $k=>$v){
     $ly = explode("##",$v);
     echo "<tr>";
     echo "<td>{$ly[0]}</td>";
     echo "<td>{$ly[1]}</td>";
     echo "<td>{$ly[2]}</td>";
     echo "<td>{$ly[3]}</td>";
     echo "<td>{$ly[4]}</td>";
     echo "<td>".date("Y-m-d H:i:s",$ly[5])."</td>";
    echo "<td><a href = 'javascript:dodel({$k})'>删除</a></td>";
 
  }
  }
  

 

报错显示是 在   echo "<td>".date("Y-m-d H:i:s",$ly[5])."</td>";这一行

$ly[5]这个数据有问题,不是纯数字,包含了空格或者字母之类的内容。你先直接输出$ly[5]的内容,不要用date格式化看非数字内容是什么

if(strlen($info)>8)

echo "<td>".date("Y-m-d H:i:s",$ly[5]+8*3600)."</td>";

一般是你切割的数据有问题.最简单的也可以判断一下$ly[5]是不是空.或者把$ly[5]强制转为数值就行了.估计是你的那个内容格式不对导致的