一直在做一个小项目,并且已经陷入了我想要工作的部分。不确定我是否采取了错误的方法,并且有更好的方法,但是我们走了。
我在写入和读取的文本文件中有数据。 例如:(值以\ t分隔)
S1684 This is a status share 20/9/2012 share;
我正在做的是搜索文件,并返回匹配作为数组一部分的任何内容。我的搜索工作正常,可以返回包含搜索查询的每一行,只有问题是爆炸结果,以便我可以正确格式化我返回的内容。这是处理它的主要部分。
if(preg_match_all($pattern, $data, $matches)){
echo "<h3>Results:</h3>";
echo implode("<p>\r\n", $matches[0])."</p>";
foreach ($matches as &$value) {
$date =0;
list($statusCode, $status, $share, $date, $like, $comment, $share) = explode("\t", $date);
echo "<h4>Status:".$status."</h4>";
echo "<h4>Status Code:".$statusCode."</h4>";
}
}
我收到的错误是未定义的偏移误差,那么我究竟能够如何爆炸(或以任何其他方式分割数组结果)以正确回显它?
非常感谢任何帮助。
答案 0 :(得分:0)
不应该是explode("\t", $value);
而不是explode("\t", $date);
您正在使用$value
在迭代期间保存数组的当前值。 $date
始终在迭代中被赋值为0,并且尝试爆炸它将导致错误。