PHP : récupérer données CSV dans array

Résolu
Bonjour,

Je viens juste de me mettre à PHP car j'ai un travail à rendre pour lequel PHP ferait l'affaire grâce à JPGraph pour la génération de graph de Gantt.

Je cherche à récupérer des données dans un CSV et les exploiter dans un array.
J'en suis là :

$fichier = file("/tmp/2data.txt");
$total = count($fichier);

for($i = 0; $i < $total; $i++)
{
$lin = $fichier[$i];
list($varA, $varB, $varC) = split(';', $lin);
$csvdat = array(
array($i, $varA, $varB, $varC),
);
}

for($j = 0; $j < $total; $j++)
{
$data = array(
array( $csvdat[$j][0], $csvdat[$j][1], $csvdat[$j][2], addTime($csvdat[$j][2], $csvdat[$j][3])),
//array(1," Label 2", "2001-01-26 10:00","08:00"),
//array(2," Label 3", "2001-01-26","10:00")
);
}

mais naturellement, cela ne fonctionne pas.
En fait mes données CSV d'origine sont du type :
LABEL;AAAA-MM-JJ HH:MM;HH:MM

Et je souhaiterais les retrouver dans l'array '$data', un peu comme les exemples commentés ci-dessus.

Merci d'avance à tout ceux qui pourront m'apporter leur aide.

2 réponses

  1. Il y a un problème avec le remplissage des tableaux, ça devrait être mieux comme ça :
    $fichier = file("/tmp/2data.txt");
    $total = count($fichier);
    
    $csvdat = array(); //définition du tableau à remplir
    
    for($i = 0; $i < $total; $i++){
      $lin = $fichier[$i];
      list($varA, $varB, $varC) = split(';', $lin);
      $csvdat[] = array($i, $varA, $varB, $varC); //ajout d'un élément au tableau, l'élément contient un tableau
    }
    
    $data = array(); // idem...
    
    for($j = 0; $j < $total; $j++)
      $data[] = array( $csvdat[$j][0], $csvdat[$j][1], $csvdat[$j][2], AddTime($csvdat[$j][2], $csvdat[$j][3]));
    


    Ou alors :
    $fichier = file("/tmp/2data.txt");
    $total = count($fichier);
    
    $data = array();
    
    for($i = 0; $i < $total; $i++){
      $lin = $fichier[$i];
      list($varA, $varB, $varC) = split(';', $lin);
      $data[] = array( $i,  $varA, $varB,  AddTime($varB, $varC));
    }
    
    1. Merci beaucoup pour ton aide Flashy Joe, c'est exactement ce qu'il me fallait...

      Je me suis encore cassé la tête une heure pour faire tourner JPGraph mais à présent, j'ai réussit à faire ce que je souhaitais et tout fonctionne.

      C'est en grande partie grâce à toi car sans ton aide je me serais encore cassé la tête sur cette histoire d'array...

      Merci encore.