IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

fonction explode() ne fonctionne pas dans mon code


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut fonction explode() ne fonctionne pas dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $hDebutAmhMod = $donnees2['hDebutAm']; //==XXHXX-XXHXX XXHXX-XXHXX
    $AmPmReposMod = explode(" ", $hDebutAmhMod);           
    $AmPmReposMod[0]    //==XXHXX-XXHXX 
    $AmPmReposMod[0]    //==vide !!!
    Bonjour je n'arrive qu'à récupéré que les valeurs se trouvant avant l'espace dans ma variable et je ne comprends pas pourquoi
    Dernière modification par Bovino ; 08/02/2013 à 10h10.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $hDebutAmhMod = 'XXHXX-XXHXX ZZHZZ-ZZHZZ';
    $AmPmReposMod = explode(" ", $hDebutAmhMod);           
    echo $AmPmReposMod[0] ;   //==XXHXX-XXHXX 
    echo $AmPmReposMod[1] ;   //==vide !!!
    resultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    XXHXX-XXHXX
    ZZHZZ-ZZHZZ
    avec les points virgule sa marche, ici
    la deuxieme parti de la chaine initial est a l'indice 1 du tableau résultant de la fonction explode.
    attention aux indice.

    Nicolas,

  3. #3
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    étrangement, moi j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $donnees2= 'X1HXX-XXHXX X2HXX-XXHXX';
    $hDebutAmhMod = $donnees2; //==XXHXX-XXHXX XXHXX-XXHXX
    //$hDebutAmhMod = $donnees2['hDebutAm']; //==XXHXX-XXHXX XXHXX-XXHXX
    $AmPmReposMod = explode(" ", $hDebutAmhMod);           
    $AmPmReposMod[0] ;   //==XXHXX-XXHXX 
    echo $AmPmReposMod[0];  //  X1HXX-XXHXX 
     
    ?>
    et ça marche

    Si ce n'est qu'il manque des ";" sur ton code
    donc tu devrais essayer d'afficher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $donnees2['hDebutAm'];
    voir si ça c'est pas vide

  4. #4
    Invité
    Invité(e)
    Par défaut
    oui effectivement mais ce bout de code n'etait qu'une illustration, le code réel est celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $hDebutAmhMod = $donnees2['hDebutAm']; //08H00-12H00 13H00-16H00
    $AmPmReposMod = explode(" ", $hDebutAmhMod); 
    $hAmReposMod = explode("-", $AmPmReposMod[0]);
    $hPmReposMod = explode("-", $AmPmReposMod[1]);
    $hdmamReposMod = explode("h", $hAmReposMod[0]);
    $hfmamReposMod = explode("h", $hAmReposMod[1]);
    $hdmpmReposMod = explode("h", $hPmReposMod[0]);
    $hfmpmReposMod = explode("h", $hPmReposMod[1]);
    Dernière modification par Bovino ; 08/02/2013 à 10h11. Motif: Réduction d'indentation inutile

  5. #5
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    si tes H dans les heures sont en majuscule, ils devraient l'être aussi dans tes explode()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	$hfmamReposMod = explode("H", $hAmReposMod[1]);
    	$hdmpmReposMod = explode("H", $hPmReposMod[0]);
    	$hfmpmReposMod = explode("H", $hPmReposMod[1]);
     
     
     
    echo	$hdmamReposMod[0].'<br />';
    echo	$hfmamReposMod[0].'<br />';
    echo	$hdmpmReposMod[0].'<br />';
    echo	$hfmpmReposMod[0].'<br />';
    affiche :
    08
    12
    13
    16

  6. #6
    Invité
    Invité(e)
    Par défaut
    je récupère cela d'une base de données et ils sont en minuscule, mais ll'explode sur les "h" fonctionne, ce que je n'obtient pas c'est

  7. #7
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Pourtant ça fonctionne sur les tests et les petits bouts de code que tu as donné.

    Donc tu as du faire une simple erreur quelque part, mais si tu donnes pas
    1. les bonnes valeurs
    2. le bout de code qui pourrait poser probleme
    3. un echo de $donnees2['hDebutAm'];

    il sera impossible de t'aider

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $hDebutAmhMod = $donnees2['hDebutAm']; 
    $AmPmReposMod = explode(" ", $hDebutAmhMod); 
    $hAmReposMod = explode("-", $AmPmReposMod[0]);
    $hPmReposMod = explode("-", $AmPmReposMod[1]);
    $hdmamReposMod = explode("h", $hAmReposMod[0]);
    $hfmamReposMod = explode("h", $hAmReposMod[1]);
    $hdmpmReposMod = explode("h", $hPmReposMod[0]);
    $hfmpmReposMod = explode("h", $hPmReposMod[1]);
     
    echo $hDebutAmhMod ; //08h00-12H00 13h00-16h00
    echo $AmPmReposMod[0]; //08h00-12H00
    echo $AmPmReposMod[1]; vide
    Voila le code exact

  9. #9
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    pourtant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $hDebutAmhMod = '08h00-12H00 13h00-16h00';
    //$hDebutAmhMod = $donnees2['hDebutAm']; 
    $AmPmReposMod = explode(" ", $hDebutAmhMod); 
    $hAmReposMod = explode("-", $AmPmReposMod[0]);
    $hPmReposMod = explode("-", $AmPmReposMod[1]);
    $hdmamReposMod = explode("h", $hAmReposMod[0]);
    $hfmamReposMod = explode("h", $hAmReposMod[1]);
    $hdmpmReposMod = explode("h", $hPmReposMod[0]);
    $hfmpmReposMod = explode("h", $hPmReposMod[1]);
     
    echo $hDebutAmhMod .'<br />'; //08h00-12H00 13h00-16h00
    echo $AmPmReposMod[0].'<br />'; //08h00-12H00
    echo $AmPmReposMod[1].'<br />';
    donne chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    08h00-12H00 13h00-16h00
    08h00-12H00
    13h00-16h00
    Mais regarde bien la valeur de $hDebutAmhMod
    il y a des H et des h .. soit tu passe tout en minuscule
    ou tout en majuscule, mais sinon tu vas avoir des erreurs

  10. #10
    Invité
    Invité(e)
    Par défaut
    oui je le sais bien mais les commentaires ont été tapés à la main, tout est en minuscule dans la db

    mais effectivement ça marche.... je dois avoir une variable qui bloque celle que je veux utilisé car placé ailleur dans le code ça ne fonctionne pas, merci en tout cas

  11. #11
    Invité
    Invité(e)
    Par défaut
    ah ben non ça ne fonctionne pas en fait, si je met la variable issu de la db au lieu des heures en "dur"

  12. #12
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Alors fait un echo de ta variable $donnees2['hDebutAm'].

    car là, le problème est avant ..
    la requête ? le format ?

  13. #13
    Invité
    Invité(e)
    Par défaut
    non j'ai trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $AmPmReposMod = explode(" ", $hDebutAmhMod); 
    $hAmReposMod = explode("-", $AmPmReposMod[0]);
    $hPmReposMod = explode("-", $AmPmReposMod[2]); // au lieu de $AmPmReposMod[1]
    $hdmamReposMod = explode("h", $hAmReposMod[0]);
    $hfmamReposMod = explode("h", $hAmReposMod[1]);
    $hdmpmReposMod = explode("h", $hPmReposMod[0]);
    $hfmpmReposMod = explode("h", $hPmReposMod[1]);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PDO] UPDATE ne fonctionne pas dans mon code PHP
    Par Daethe dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 01/06/2015, 17h02
  2. Un regex qui fonctionne sur les testeurs en ligne, mais pas dans mon code
    Par billybobbonnet dans le forum Développement Windows
    Réponses: 4
    Dernier message: 28/01/2015, 17h20
  3. stop() ne fonctionne pas dans mon animation
    Par edzodzinam dans le forum Flash
    Réponses: 1
    Dernier message: 03/07/2009, 12h43
  4. Réponses: 4
    Dernier message: 11/09/2006, 17h46
  5. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo