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 :

récupération de nombre dans une chaine [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Points : 53
    Points
    53
    Par défaut récupération de nombre dans une chaine
    Bonjour j'ai un tableau: $aValues[$i] dont l'echo me renvoie:
    valuevirtuel_2_30
    valuevirtuel_6_3
    valuevirtuel_1_8

    donc je veux pour chaque ligne récupérer le premier nombre après le premier undunscore et le deuxième nombre après le deuxième undunscore.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                      echo '<pre>';var_dump($data['valuesvirtuals']);
                          $valuesVirtuals=$data['valuesvirtuals'];
                          if (!is_array(valuesVirtuals)) {
                             $aValues = explode(',',$valuesVirtuals);
                             for($i=0;$i<sizeof($aValues);$i++){
                             //echo $aValues[$i].'<br>';
                             $reg_expaction="^valuevirtuel_[0-9]{1,}";
                             $reg_expcategory="^valuevirtuel_[0-9]{1,}_[0-9]{1,}";
                             $valuevirtual_id = $aValues[$i].'<br>';;
                             echo $slidevirtual_id;
                             }
                        }
    Je veux avoir:
    $action=2
    $action=6
    $action=1
    et
    $category=30
    $category=3
    $category=8

  2. #2
    Membre confirmé Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Points : 540
    Points
    540
    Par défaut
    Pourquoi une regex? Utilise (encore, puisque tu l'as déjà fait dans ton script) un explode...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
      list($value, $first, $second) = explode('_', 'valuevirtuel_2_30');
      echo $value.'<br />'; //valuevirtuel
      echo $first.'<br />'; //2
      echo $second.'<br />'; //30
    ?>

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 141
    Points : 53
    Points
    53
    Par défaut
    Super ça marche!!Merci!

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

Discussions similaires

  1. Trouver un nombre dans une chaine de caractère ?
    Par Coussati dans le forum Débuter
    Réponses: 4
    Dernier message: 27/10/2007, 01h35
  2. changer des nombres dans une chaine
    Par newbiegeek dans le forum ASP
    Réponses: 11
    Dernier message: 09/08/2007, 16h24
  3. Réponses: 3
    Dernier message: 01/03/2007, 16h24
  4. Extraire un nombre dans une chaine
    Par SIGOliv dans le forum Access
    Réponses: 16
    Dernier message: 13/03/2006, 16h44
  5. Récuperer un nombre dans une chaine de caractère
    Par ColonelHati dans le forum C
    Réponses: 4
    Dernier message: 27/04/2005, 15h50

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