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

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

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
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...


Merci d'avance de me lire...

Bonne journée