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 :

Problème récupération valeur


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 37
    Points : 27
    Points
    27
    Par défaut Problème récupération valeur
    Bonjour,
    J'ai une chaine de caractère comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $chaine = "bm34,bm45,bm56";
    ?>
    je veux créer un tableau et insérer chaque valeur numérique dans une case de mon tableau.

    C.à.d
    avoir un tableau ou la case 0 prend la valeur 34 , case 1 valeur 45 et case 2 valeur 56


    Merci d'avance.

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Bonjour,

    Si les positions de tes nombres ne changent pas ( donc que la chaine a toujours le même format à savoir bmXX,bmXX,bmXX ) tu peux utiliser la fonction substr().
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $chaine = "bm34,bm45,bm56";
    $tableau = explode (",",$chaine);
    ?>
    A+.

  4. #4
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $chaine = "bm34,bm45,bm56";
    $tableau = explode (",",$chaine);
    ?>
    A+.
    Ca va renvoyer "bm34 bm45 bm56" avec ce code non ? Et il ne veut que les valeurs numériques si j'ai bien compris.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  5. #5
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par FirePrawn Voir le message
    Ca va renvoyer "bm34 bm45 bm56" avec ce code non ? Et il ne veut que les valeurs numériques si j'ai bien compris.
    il suffit de faire un cast en int pour avoir les bonnes valeurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $chaine = "bm34,bm45,bm56";
    $tableau = explode (",",$chaine);
    //
    $tableau = array_map(function($v){return (int) $v;}, $tableau)
    ?>
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par FirePrawn Voir le message
    Ca va renvoyer "bm34 bm45 bm56" avec ce code non ? Et il ne veut que les valeurs numériques si j'ai bien compris.
    Oui ça va retourner un tableau avec les valeurs que tu cites. Si le chaine "bm" pourrai varier, utilise un regExp pour les virer, sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $chaine = "bm34,bm45,bm56";
    $chaine=str_replace("bm","",$chaine);
    $tableau = explode (",",$chaine);
    ?>

  7. #7
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Oui ça va retourner un tableau avec les valeurs que tu cites. Si le chaine "bm" pourrai varier, utilise un regExp pour les virer, sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $chaine = "bm34,bm45,bm56";
    $chaine=str_replace("bm","",$chaine);
    $tableau = explode (",",$chaine);
    ?>
    Ok là nous sommes d'accord
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 64
    Points : 96
    Points
    96
    Par défaut
    la regexp toute simple étant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $chaine = 'bm34,bm45,bm56';
    $pattern = '/(?:(\d+)(?:\D|\b)+)/';
    preg_match_all($pattern,$chaine,$matches);
    $array = $matches[1]; // array(0=>'34',1=>'45',2=>'56')

Discussions similaires

  1. Problème récupération valeur liste déroulante
    Par bond70 dans le forum Langage
    Réponses: 8
    Dernier message: 28/04/2010, 11h01
  2. [MySQL] Re problème récupération valeur liste dynamique
    Par stefsas dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2010, 08h58
  3. Problème récupération valeur liste déroulante
    Par philouelgeek dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 26/01/2010, 08h22
  4. Trigger - Problème Récupération valeur
    Par Silvia12 dans le forum Développement
    Réponses: 6
    Dernier message: 02/05/2007, 17h51
  5. problème récupération valeur d'un "div"
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 29/06/2005, 10h04

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