2012-09-21 2 views
0

J'ai travaillé sur un petit projet et je me suis retrouvé coincé dans une partie que j'essaie de faire fonctionner. Je ne sais pas si je prends le mauvais type d'approche, et il y a un meilleur moyen, mais nous y voilà.Explose les résultats du tableau et l'écho.

J'ai des données dans un fichier texte qui est écrit et lu. exemple: (les valeurs sont séparées par un \ t)

S1684 This is a status share 20/9/2012   share; 

Ce que je fais est à la recherche du fichier, et tout retour qui correspond comme une partie du tableau. J'ai la recherche fonctionne bien, et peut renvoyer chaque ligne qui contient la requête de recherche, seul le problème explose les résultats afin que je puisse correctement formater ce que je retourne. C'est le morceau principal qui le traite.

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

    } 

L'erreur que je reçois sont des erreurs de décalage non défini, alors comment exactement ce que je pourrais exploser (ou diviser le résultat du tableau de toute autre manière) pour faire écho correctement?

Toute aide est très appréciée merci.

+0

Est-ce que $ ne correspond pas à une chaîne de caractères? Peux-tu imploser une chaîne? – Passerby

Répondre

0

devrait-il pas être explode("\t", $value); au lieu de explode("\t", $date);

Vous utilisez $value pour maintenir la valeur actuelle du tableau lors de l'itération. $date est toujours affecté 0 dans l'itération, et essayer d'exploser provoquera l'erreur.

+0

Oh derp je suis un idiot bahaha absolu merci de souligner l'évidence -_- – Curia