Взорвать результаты массива и эхо.

Работал над небольшим проектом и застрял на той части, над которой пытаюсь работать. Не уверен, что я использую неправильный подход, и есть лучший способ, но поехали.

У меня есть данные в текстовом файле, который записывается и читается. пример: (значения разделены \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>";
       }

    }

Ошибка, которую я получаю, - это неопределенные ошибки смещения, поэтому как именно я могу взорваться (или разделить результат массива каким-либо другим способом), чтобы правильно отобразить его?

Любая помощь очень ценится, спасибо.


person Curia    schedule 21.09.2012    source источник
comment
Разве $matches[0] не должно быть строкой? Можете ли вы implode строку?   -  person Passerby    schedule 21.09.2012


Ответы (1)


Разве это не должно быть explode("\t", $value); вместо explode("\t", $date);

Вы используете $value для хранения текущего значения массива во время итерации. $date всегда присваивается 0 в итерации, и попытка взорвать его вызовет ошибку.

person air4x    schedule 21.09.2012
comment
О, сумасшедший, я абсолютный идиот, бахаха, спасибо, что указали на очевидное -_- - person Curia; 21.09.2012