Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 分解阵列结果和回波。_Php_Arrays_Split_Return_Explode - Fatal编程技术网

Php 分解阵列结果和回波。

Php 分解阵列结果和回波。,php,arrays,split,return,explode,Php,Arrays,Split,Return,Explode,我一直在做一个小项目,并且被困在一个我正在努力工作的部分。不确定我是否采取了错误的方法,还有更好的方法,但我们开始吧 我有一个文本文件中的数据,可以写入和读取。 示例:(值由\t分隔) 我要做的是搜索文件,并返回作为数组一部分匹配的任何内容。我的搜索工作正常,可以返回包含搜索查询的每一行,唯一的问题是分解结果,以便正确格式化返回的内容。这是处理它的主要部分 if(preg_match_all($pattern, $data, $matches)){ echo "<h3>

我一直在做一个小项目,并且被困在一个我正在努力工作的部分。不确定我是否采取了错误的方法,还有更好的方法,但我们开始吧

我有一个文本文件中的数据,可以写入和读取。 示例:(值由\t分隔)

我要做的是搜索文件,并返回作为数组一部分匹配的任何内容。我的搜索工作正常,可以返回包含搜索查询的每一行,唯一的问题是分解结果,以便正确格式化返回的内容。这是处理它的主要部分

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>";
       }

    }
if(preg\u match\u all($pattern,$data,$matches)){
回声“结果:”;
echo内爆(“\r\n”,$matches[0])。”

”; foreach($matches as&$value){ $date=0; 列表($statusCode、$status、$share、$date、$like、$comment、$share)=分解(“\t”,$date); 回显“状态:.$Status.”; 回显“状态代码:.$statusCode.”; } }
我收到的错误是未定义的偏移量错误,那么我如何准确地分解(或以任何其他方式分割阵列结果)以正确地回显它呢


非常感谢您的帮助。

不应该是
explode(“\t”,“$value”)而不是
分解(“\t”,$date)


您正在使用
$value
在迭代期间保存数组的当前值
$date
在迭代中始终被分配为0,尝试分解它将导致错误。

是否应该将
$MATCHS[0]
作为字符串?你能
内爆
字符串吗?哦,天哪,我是个十足的白痴巴哈哈,谢谢你指出了显而易见的事实-_-
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>";
       }

    }