【问题标题】:Explode array results and echo.分解数组结果和回显。
【发布时间】:2012-09-21 10:11:59
【问题描述】:

一直在做一个小项目,但在我试图开始工作的部分卡住了。不确定我是否采取了错误的方法,还有更好的方法,但我们开始了。

我在一个文本文件中有数据,可以写入和读取。 示例:(值由 \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>";
       }

    }

我收到的错误是未定义的偏移错误,那么我究竟如何才能爆炸(或以任何其他方式拆分数组结果)以正确回显它?

非常感谢任何帮助。

【问题讨论】:

  • 不应该$matches[0] 是一个字符串吗?你能implode一个字符串吗?

标签: php arrays split return explode


【解决方案1】:

不应该是explode("\t", $value);而不是explode("\t", $date);

您正在使用$value 在迭代期间保存数组的当前值。 $date 在迭代中总是被赋值为 0,试图炸开它会导致错误。

【讨论】:

  • 哦,我是一个绝对的白痴巴哈谢谢你指出了显而易见的-_-
猜你喜欢
  • 2021-08-06
  • 2013-05-28
  • 2020-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 2012-07-01
相关资源
最近更新 更多