Bonjour à tous,
je suis confronté au(x) problème(s) suivant(s) : je souhaiterais transformer le tableau $data obtenu suite à l'utilisation de la fonction read_csv
Le tableau $data renvoyé est multidimensionnel et ne peut être injecté en l'état dans le constructeur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public function read_csv($filename) { if(($handle=fopen($filename,'r')) !== FALSE) { while (($line=fgetcsv($handle,1024,';')) !== FALSE) { if (!(is_null($line))) { $data[]=$line; } } } return $data; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public function __construct(array $data) { $this->setId($data['id']); $this->setDate($data['date']); $this->setCity($data['city']); $this->setPeriod($data['period']); $this->setSummary($data['summary']); $this->setId_summary($data['id_summary']); $this->setTemperature_min($data['temperature_min']); $this->setTemperature_max($data['temperature_max']); $this->setComments($data['comments']); }
Il faudrait pour cela soit modifier le constructeur et la je sèche !!! ou alors modifier la structure du tableau $data de la manière suivante :
mais je souhaiterais que le tableau $data soit prêt à l'emploi soit à la sortie de la function read_csv ou alors à l'aide d'une nouvelle méthode qui transformerait $data en plein de tableau unidimensionnel et la je sèche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for($i=0;$i < count($data);$i++) { $new_content = array('date' => $data[$i][0], 'city' => $data[$i][1], 'period' => $data[$i][2], 'summary' => $data[$i][3], 'id_summary'=> $data[$i][4], 'temperature_min' => $data[$i][5], 'temperature_max' => $data[$i][6], 'comments' => $data[$i][7]); // preparation du tableau pour le constructeur de l'objet
Merci d'avance de me lire...
Bonne journée
Partager