2015-03-05 1 views
2

Tout d'abord, j'ai un système de reporting dans lequel je récupère des données CSV, ce qui revient à un mauvais état.Fusionner un tableau de données de l'API

La façon dont les données sont tiré vers l'arrière est via:

$data = explode("\t", $site); 
$sID = $data[1]; 
$sCol = $data[2]; 

et ainsi de suite.

Je peux utiliser ces variables plus bas lors de l'écho et pas de problème.

Mon vrai problème est dans les données ci-dessus, je reçois plusieurs $sID de retour dans ce format:

20390 Red 
20390 Blue 
20390 Green 
20390 White 
20391 Blue 
20391 Yellow 
20391 Green 
20391 White 

Je voudrais combiner toutes les données sur une seule ligne, par exemple:

20390 Red, Blue, Green, White 

Quelque chose de similaire à array_merge serait idéal, mais je ne sais pas quelle fonction peut dupliquer cela.

+0

Essayez: implode ('', sID $) ; – Codew

+0

@Codew Cela ne semble pas me donner quelque chose. – Poiro

+1

fournir le contenu de '$ site' afin que nous puissions voir à quoi il ressemble avant l'explosion. Jusqu'à présent, je suppose que '$ site' a seulement le contenu' '20390 \ tRed" 'qui me dit de boucler ceci dans un certain type d'itération pour obtenir cette liste ..? si c'est le cas d'où vient le '$ site'? – CodeGodie

Répondre

0

Ok, dans votre cas, ce que je ferais:

$data = explode("\t", $site[0]); 

$final = array(); 
foreach ($data as $row) { 
    if ($row != 0) { 
     $info = explode(" ", $row); 
     if (isset($final[$info[0]])) { 
      array_push($final[$info[0]], "$info[1], $info[2], $info[3], $info[3]"); 
     } else { 
      $final[$info[0]] = array(); 
      array_push($final[$info[0]], "$info[1], $info[2], $info[3], $info[3]"); 
     } 
    } 
} 
var_dump($final); 
+0

Yarp voici comment le faire –

+1

Cela a résolu mon problème avec quelques changements, merci pour le heads-up. – Poiro

0

Vous pouvez essayer quelque chose comme ceci:

$data = explode("\t", $site); 
    $s[$data[1]] = array_key_exists($data[1], $s)?($s[$data[1]].', '.$data[2]):$data[2]; 
foreach($s as $k => $val){ 
    $sID = $k; 
    $sCol = $val; 
}