Php & explode...
Résolu
                    
        
     
             
                    ixce
    
        
    
                    Messages postés
            
                
     
             
            51
        
            
                                    Statut
            Membre
                    
                -
                                     
ixce Messages postés 51 Statut Membre -
        ixce Messages postés 51 Statut Membre -
        Bonjour,
voila, je developpe une page php, qui traite un fichier texte appelé essai.log, ce fichier contient des chaines de caracteres.
chacune de ces lignes contient des valeurs separés par des |.
je cherche à entrer les valeurs dans un tableau ----->explode.
en fonction du premier caractere de chaque ligne, et ce, par le biais de switch.
apercu de essai.log:
M|Code='SOUR-LOGCOMBO'|97|SOUR-LOGCOMBO||Souris LOGITECH Combo PS2/série 3 boutons|U|PIECES.SOURIS.|False|76500|0|0|0|0|0|0|0|0|0|0|0|0|0|1|P|0|0|6000|0|0|||1000|||||||V19|28/08/2001 12:42:58|05/09/2001 11:27:32|28/08/2001 12:42:58|True|1000|0|0|False|0|0||||||||||||||||||129|M
C|Code='CAM-SONYPC110'|98|CAM-SONYPC110||Camescope SONY DCR-PC110E |U|PERIPH.CAMESCOPE.|False|10500000|0|0|0|0|0|0|0|0|0|0|0|0|0|1|P|0|0|0|0|0|||1000|||||||V19|05/09/2001 11:27:16|00:00:00|05/09/2001 11:27:16|True|1000|0|0|False|0|0||||||||||||||||||0|C
S|Code='MEM-DIM128S'|60|Code='RES-ROUTRNISNET'|75|Code='MEM-DIM128S'|60|Code='RES-ROUTRNISNET'|75|
et de mon script:
function variabilise($lg) {
//cree le tab a 1 dim, soit la ligne dun tab a 2 dim
$valeurs=array();
//si le premier caractere de la ligne est cms, variabilisation diff
switch ($lg{0}) {
case 'C':
case 'M':
$valeurs=explode("|",$lg);
break;
case 'S':
$valeurs=explode("|",$lg);
break;
}
return $valeurs;
}
mon probleme est que les lignes commencant par s ne sont pas traités, quelquun peut il meclairer?
svp
xavier
                
            
                
    
    
    
        voila, je developpe une page php, qui traite un fichier texte appelé essai.log, ce fichier contient des chaines de caracteres.
chacune de ces lignes contient des valeurs separés par des |.
je cherche à entrer les valeurs dans un tableau ----->explode.
en fonction du premier caractere de chaque ligne, et ce, par le biais de switch.
apercu de essai.log:
M|Code='SOUR-LOGCOMBO'|97|SOUR-LOGCOMBO||Souris LOGITECH Combo PS2/série 3 boutons|U|PIECES.SOURIS.|False|76500|0|0|0|0|0|0|0|0|0|0|0|0|0|1|P|0|0|6000|0|0|||1000|||||||V19|28/08/2001 12:42:58|05/09/2001 11:27:32|28/08/2001 12:42:58|True|1000|0|0|False|0|0||||||||||||||||||129|M
C|Code='CAM-SONYPC110'|98|CAM-SONYPC110||Camescope SONY DCR-PC110E |U|PERIPH.CAMESCOPE.|False|10500000|0|0|0|0|0|0|0|0|0|0|0|0|0|1|P|0|0|0|0|0|||1000|||||||V19|05/09/2001 11:27:16|00:00:00|05/09/2001 11:27:16|True|1000|0|0|False|0|0||||||||||||||||||0|C
S|Code='MEM-DIM128S'|60|Code='RES-ROUTRNISNET'|75|Code='MEM-DIM128S'|60|Code='RES-ROUTRNISNET'|75|
et de mon script:
function variabilise($lg) {
//cree le tab a 1 dim, soit la ligne dun tab a 2 dim
$valeurs=array();
//si le premier caractere de la ligne est cms, variabilisation diff
switch ($lg{0}) {
case 'C':
case 'M':
$valeurs=explode("|",$lg);
break;
case 'S':
$valeurs=explode("|",$lg);
break;
}
return $valeurs;
}
mon probleme est que les lignes commencant par s ne sont pas traités, quelquun peut il meclairer?
svp
xavier
        A voir également:         
- Php & explode...
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
3 réponses
                        
                    J'ai testé, je ne vois pas de problème. Je récupère bien un tableau correct.
Par contre, je ne comprends pas pourquoi tu fais un SWITCH, vu que le traitement est le même...
    
                Par contre, je ne comprends pas pourquoi tu fais un SWITCH, vu que le traitement est le même...
                
        
     
             
                    ixce
    
        
    
                    Messages postés
            
                
     
             
            51
        
            
                                    Statut
            Membre
                    
    
            
                
     
             
                        3
        
        
    
    le cas S était traité?
    
    
                        
                    j aurais du vous dire pour le switch,
les lignes que vous voyez sont en fait des Créations, Modifications et Suppression, sur une base de données, le 1er caractère de chaque ligne spécifie laction qui sera réalisée.
pour la mise en variable des lignes commençant par M et C , no problème, c'est plus tard que la différence se fera.
mais pour les lignes commençant par S,en fait il n'y a qu'une ligne commençant par S, et les valeurs se suivent par couple sur le reste de la ligne. en gros, on s'est que c'est une ligne qui engendrera une suppression , mais cela n'est dit qu'une fois, après c'est du |code|référence|code|référence|code|référence|code|référence
Suppr:
S|code|référence|code|référence|code|référence|code|référence
Création/Modification
C(ou M)|code|reference|valeur1|valeur2...|valeur n
et si le switch ne sert a rien dans le mon premier article, c'est parce que , aussi simple que puissent etre la demande, le traitement n'est pas réalisé, après je différencierai l'action du cas S au sein de mon switch.
mais la tout de suite, le switch S et le switch M/C sont les mêmes sauf que S n'est pas traité.
voila, je peux vous mettre les 2 fichiers a partir desquelles je travaille si vous le souhaitez.
et je travaille sur easyPhp
    
                les lignes que vous voyez sont en fait des Créations, Modifications et Suppression, sur une base de données, le 1er caractère de chaque ligne spécifie laction qui sera réalisée.
pour la mise en variable des lignes commençant par M et C , no problème, c'est plus tard que la différence se fera.
mais pour les lignes commençant par S,en fait il n'y a qu'une ligne commençant par S, et les valeurs se suivent par couple sur le reste de la ligne. en gros, on s'est que c'est une ligne qui engendrera une suppression , mais cela n'est dit qu'une fois, après c'est du |code|référence|code|référence|code|référence|code|référence
Suppr:
S|code|référence|code|référence|code|référence|code|référence
Création/Modification
C(ou M)|code|reference|valeur1|valeur2...|valeur n
et si le switch ne sert a rien dans le mon premier article, c'est parce que , aussi simple que puissent etre la demande, le traitement n'est pas réalisé, après je différencierai l'action du cas S au sein de mon switch.
mais la tout de suite, le switch S et le switch M/C sont les mêmes sauf que S n'est pas traité.
voila, je peux vous mettre les 2 fichiers a partir desquelles je travaille si vous le souhaitez.
et je travaille sur easyPhp
