Bonjour,
Je travail actuellement sur un fichier CSV.
Ce fichier étant assez "spécialement" rempli... je ne peux pas utiliser fgetcsv(), j'utilise donc fgets() pour le parcourir.
Les données champs sont séparés par des ";" et mon dernier n'est jamais renseigné.
Voici un exemple de ligne de ce fichier CSV :
• Anniversaire Famille;ANNIVFAM;;4-7;16-19;27-;;;;;;;;
Après "ANNIVFAM", chaque champ correspond à un mois de l'année (dans l'ordre bien sûr : janvier, février, etc.) et les chiffres à des dates pour chaque mois.
Et voici le code que j'utilise :
La dernière lignede code (print_r($myDates)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $myArray = explode(";", $elem); list($evenement, $code) = array_slice($myArray, 0, 2); $myDates = array_slice($myArray, 2); print "$evenement<br />"; print "$code<br />"; print_r($myDates);affiche un tableau de 12 colonnes (de 0 à 11) avec les dates des douze mois de l'année.
Ensuite je fais des test pour savoir si !empty($myDates[$i]), cela fonctionne bien, sauf pour l'index numéro 11 du tableau (la dernière date : décembre), qui est toujours "vide" mais qui a pour strlen() : 2...
Je dois faire des insertions dans une base de données à partir de ce script, mais je n'arrive pas à gérer cette dernière date lorsqu'elle n'est pas remplie, elle a toujours une longueur... Un echo de l'index #11 n'affiche rien du tout.
Merci d'avance, à ceux qui auraient déjà eu ce problème, de m'aider.
Cordialement,
DJuL-





Répondre avec citation



Partager