Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2011, 10h47   #1
Membre du Club
 
Avatar de PtitGénie
 
Étudiant
Inscription : décembre 2007
Messages : 231
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2007
Messages : 231
Points : 49
Points : 49
Par défaut Expression régulière pour un nombre

Bonjour à tous !

J'ai une variable $var dont la valeur change via une boucle while, elle prend ces valeurs l'une après l'autre :
- $var = "29,5,18,35"
- $var = "18,35"
- $var = "35"
- $var = "17,47,2"

Je cherche à n'afficher "ok" que lorsque la variable contient le nombre "5" et seulement "5", pas "35" qui contient 5 aussi (donc à afficher "ok" que la première fois).

J'avais fait cette condition :

Code :
1
2
3
if( preg_match('#[,]{0,1}5[,]{0,1}#',$var) ){
      echo "ok";
}
Cela fonctionne pour les deux premières fois, mais lorsque $var=35 tout court cela affiche aussi "ok"...

Merci d'avance à ceux qui pourront m'aider ^^
PtitGénie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 11h06   #2
Membre confirmé
 
Homme Arnaud
Inscription : décembre 2004
Messages : 167
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 40
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : décembre 2004
Messages : 167
Points : 238
Points : 238
Bonjour,

Depuis mon portable, je dirais plutôt :
Code :
1
2
3
if( preg_match('#[,]{0,1}[5]{1}[,]{0,1}#',$var) ){
      echo "ok";
}
Je ne peux pas tester, j'ai pas installé php sur mon android
__________________
NginX, SphinxSearch Addict !!
lenono est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 11h18   #3
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
stop d'utiliser les regex pour tout et n'importe quoi, ça devient vraiment ridicule ...

Code :
1
2
3
4
5
$var = '29,5,18,35';
 
if (in_array('5', explode(',', $var))) {
    echo 'OK';
}
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/12/2011, 11h53   #4
Membre du Club
 
Avatar de PtitGénie
 
Étudiant
Inscription : décembre 2007
Messages : 231
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2007
Messages : 231
Points : 49
Points : 49
Sorry stealth35, mais c'est qu'en fait je voulais faire d'une pierre deux coups parce que j'en ai besoin aussi en condition SQL :p
PtitGénie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 11h55   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
Citation:
Envoyé par PtitGénie Voir le message
Sorry stealth35, mais c'est qu'en fait je voulais faire d'une pierre deux coups parce que j'en ai besoin aussi en condition SQL :p
ça aussi c'est un problème, t'as pas a faire ça en base de données, crée une autre table et fait des jointures
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 12h01   #6
Membre du Club
 
Avatar de PtitGénie
 
Étudiant
Inscription : décembre 2007
Messages : 231
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2007
Messages : 231
Points : 49
Points : 49
Oui je sais bien, mais parfois la vie fait qu'on arrive dans un projet, qu'on ne peut pas toucher à certaines choses, et qu'on est obligé de faire avec hélas
PtitGénie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 13h31   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 219
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 219
Points : 8 598
Points : 8 598
Citation:
Envoyé par PtitGénie Voir le message
Oui je sais bien, mais parfois la vie fait qu'on arrive dans un projet, qu'on ne peut pas toucher à certaines choses, et qu'on est obligé de faire avec hélas
utilise FIND_IN_SET
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h47.


 
 
 
 
Partenaires

Hébergement Web