Dans une variable $chiffres qui peut etre égale à 04,05,10,15 Comment savoir si 15 se trouve dans ma variable ?
fonction strpos()
-- Ampac
Jedi121
Nicolas wrote:
Bonsoir
Dans une variable $chiffres qui peut etre égale à 04,05,10,15
Comment savoir si 15 se trouve dans ma variable ?
Lire la doc PHP... Pour vous simplifier la vie je vous donne l'extrait mais téléchargez au plus vite la doc PHP et lisez là.
strpos (PHP 3, PHP 4 )
strpos -- Recherche la première occurrence d'un caractère dans une chaîne. Description int strpos ( string haystack, string needle [, int offset])
strpos() retourne la position numérique de la première occurrence de needle dans la chaîne haystack. Contrairement à strrpos(), needle peut être une chaîne.
Si needle n'est pas trouvée, retourne FALSE.
Note : Il est facile de confondre la valeur de retour "caractère trouvé à la position 0" et "caractère introuvable". Voici comment faire la différence :
<?php // PHP 4.0b3 et plus récent : $pos = strpos($machaine, "b"); if ($pos === FALSE) { // note: trois signes égal // non trouvé } // versions plus anciennes que 4.0b3: $pos = strpos("b", $machaine); if (is_string($pos) && !$pos) { // non trouvé } ?>
Si needle n'est pas une chaîne, elle est convertie en entier, et utilisée comme la valeur ASCII d'un caractère.
L'argument optionnel offset permet de préciser le caractère à partir duquel chercher, dans haystack. La position doit être relative au début de la chaîne haystack.
Nicolas <nicoreims@msn_nospam.com> wrote:
Bonsoir
Dans une variable $chiffres qui peut etre égale à 04,05,10,15
Comment savoir si 15 se trouve dans ma variable ?
Lire la doc PHP...
Pour vous simplifier la vie je vous donne l'extrait mais téléchargez au plus
vite la doc PHP et lisez là.
strpos
(PHP 3, PHP 4 )
strpos -- Recherche la première occurrence d'un caractère dans une chaîne.
Description
int strpos ( string haystack, string needle [, int offset])
strpos() retourne la position numérique de la première occurrence de needle dans
la chaîne haystack. Contrairement à strrpos(), needle peut être une chaîne.
Si needle n'est pas trouvée, retourne FALSE.
Note : Il est facile de confondre la valeur de retour "caractère trouvé à la
position 0" et "caractère introuvable". Voici comment faire la différence :
<?php
// PHP 4.0b3 et plus récent :
$pos = strpos($machaine, "b");
if ($pos === FALSE) { // note: trois signes égal
// non trouvé
}
// versions plus anciennes que 4.0b3:
$pos = strpos("b", $machaine);
if (is_string($pos) && !$pos) {
// non trouvé
}
?>
Si needle n'est pas une chaîne, elle est convertie en entier, et utilisée comme
la valeur ASCII d'un caractère.
L'argument optionnel offset permet de préciser le caractère à partir duquel
chercher, dans haystack. La position doit être relative au début de la chaîne
haystack.
Dans une variable $chiffres qui peut etre égale à 04,05,10,15
Comment savoir si 15 se trouve dans ma variable ?
Lire la doc PHP... Pour vous simplifier la vie je vous donne l'extrait mais téléchargez au plus vite la doc PHP et lisez là.
strpos (PHP 3, PHP 4 )
strpos -- Recherche la première occurrence d'un caractère dans une chaîne. Description int strpos ( string haystack, string needle [, int offset])
strpos() retourne la position numérique de la première occurrence de needle dans la chaîne haystack. Contrairement à strrpos(), needle peut être une chaîne.
Si needle n'est pas trouvée, retourne FALSE.
Note : Il est facile de confondre la valeur de retour "caractère trouvé à la position 0" et "caractère introuvable". Voici comment faire la différence :
<?php // PHP 4.0b3 et plus récent : $pos = strpos($machaine, "b"); if ($pos === FALSE) { // note: trois signes égal // non trouvé } // versions plus anciennes que 4.0b3: $pos = strpos("b", $machaine); if (is_string($pos) && !$pos) { // non trouvé } ?>
Si needle n'est pas une chaîne, elle est convertie en entier, et utilisée comme la valeur ASCII d'un caractère.
L'argument optionnel offset permet de préciser le caractère à partir duquel chercher, dans haystack. La position doit être relative au début de la chaîne haystack.
Nicolas
Merci beaucoup à vous 2 !
"Jedi121" a écrit dans le message de news: 3f6fef81$0$2795$
Nicolas wrote:
Bonsoir
Dans une variable $chiffres qui peut etre égale à 04,05,10,15
Comment savoir si 15 se trouve dans ma variable ?
Merci beaucoup à vous 2 !
"Jedi121" <jedi121@free.fr._retirez.ceci> a écrit dans le message de news:
3f6fef81$0$2795$626a54ce@news.free.fr...
Nicolas <nicoreims@msn_nospam.com> wrote:
Bonsoir
Dans une variable $chiffres qui peut etre égale à 04,05,10,15
"Jedi121" a écrit dans le message de news: 3f6fef81$0$2795$
Nicolas wrote:
Bonsoir
Dans une variable $chiffres qui peut etre égale à 04,05,10,15
Comment savoir si 15 se trouve dans ma variable ?
dominique
Thibaut Allender wrote:
"Jedi121" wrote in message strpos est peut etre plus facilement applicable quand on debut, mais ca ne vaut pas une bonne expression reguliere :)
<?php if (eregi("^15$",$machaine)) { // trouvé } ?>
n'oubliez pas les caracteres ^ (debut de ligne) et $ (fin de ligne) si vous ne voulez pas que "150" soit aussi trouvé
je viens de jetter 1 oeil et je ne comprends comment cette regexp peut fonctionner sans au prealable decouper la chaine en blocs de chiffres. Si je reprends l'exemple de Nicolas : 04,05,10,15 la regexp ^15$ ne marchera pas.
Je propose plutot de faire /D15(D|$)/ avec un preg_match
-- Dom
Thibaut Allender wrote:
"Jedi121" <jedi121@free.fr._retirez.ceci> wrote in message
strpos est peut etre plus facilement applicable quand on debut, mais ca ne
vaut pas une bonne expression reguliere :)
<?php
if (eregi("^15$",$machaine)) {
// trouvé
}
?>
n'oubliez pas les caracteres ^ (debut de ligne) et $ (fin de ligne) si vous
ne voulez pas que "150" soit aussi trouvé
je viens de jetter 1 oeil et je ne comprends comment cette regexp peut
fonctionner sans au prealable decouper la chaine en blocs de chiffres.
Si je reprends l'exemple de Nicolas : 04,05,10,15 la regexp ^15$ ne
marchera pas.
Je propose plutot de faire /D15(D|$)/ avec un preg_match
"Jedi121" wrote in message strpos est peut etre plus facilement applicable quand on debut, mais ca ne vaut pas une bonne expression reguliere :)
<?php if (eregi("^15$",$machaine)) { // trouvé } ?>
n'oubliez pas les caracteres ^ (debut de ligne) et $ (fin de ligne) si vous ne voulez pas que "150" soit aussi trouvé
je viens de jetter 1 oeil et je ne comprends comment cette regexp peut fonctionner sans au prealable decouper la chaine en blocs de chiffres. Si je reprends l'exemple de Nicolas : 04,05,10,15 la regexp ^15$ ne marchera pas.
Je propose plutot de faire /D15(D|$)/ avec un preg_match
-- Dom
Thibaut Allender
"dominique" wrote in message news:bku7j3$7kk$
je viens de jetter 1 oeil et je ne comprends comment cette regexp peut fonctionner sans au prealable decouper la chaine en blocs de chiffres. Si je reprends l'exemple de Nicolas : 04,05,10,15 la regexp ^15$ ne marchera pas.
um... moi j'ai compris la problematique comme ceci : la chaine contient 04 ou 05 ou 10 ou 15 dans ce cas, ma regexp fonctionne ;)
Je propose plutot de faire /D15(D|$)/ avec un preg_match
mais j'ai effectivement peut etre mal compris ! si la chaine contient "04,05,10,15" alors on peut faire ca aussi en regexp
"dominique" <zdoum@nerim.net> wrote in message
news:bku7j3$7kk$1@biggoron.nerim.net...
je viens de jetter 1 oeil et je ne comprends comment cette regexp peut
fonctionner sans au prealable decouper la chaine en blocs de chiffres.
Si je reprends l'exemple de Nicolas : 04,05,10,15 la regexp ^15$ ne
marchera pas.
um... moi j'ai compris la problematique comme ceci :
la chaine contient 04 ou 05 ou 10 ou 15
dans ce cas, ma regexp fonctionne ;)
Je propose plutot de faire /D15(D|$)/ avec un preg_match
mais j'ai effectivement peut etre mal compris !
si la chaine contient "04,05,10,15" alors on peut faire ca aussi en regexp
je viens de jetter 1 oeil et je ne comprends comment cette regexp peut fonctionner sans au prealable decouper la chaine en blocs de chiffres. Si je reprends l'exemple de Nicolas : 04,05,10,15 la regexp ^15$ ne marchera pas.
um... moi j'ai compris la problematique comme ceci : la chaine contient 04 ou 05 ou 10 ou 15 dans ce cas, ma regexp fonctionne ;)
Je propose plutot de faire /D15(D|$)/ avec un preg_match
mais j'ai effectivement peut etre mal compris ! si la chaine contient "04,05,10,15" alors on peut faire ca aussi en regexp
"Thibaut Allender" wrote in message news:3f731746$0$20640$
if (eregi("(^|,)*15(,|$)+",$machaine)) {
je dirais meme "+" ;)
eregi("(^|,)+15(,|$)+",$machaine)
car devant le chiffre, il y aura toujours au moins un debut de ligne ou une virgule... avec la premiere que j'ai donné "215" aurait aussi ete trouvé
Ampac
Dans news:3f731746$0$20640$, Thibaut Allender raconte :
um... moi j'ai compris la problematique comme ceci : la chaine contient 04 ou 05 ou 10 ou 15 dans ce cas, ma regexp fonctionne ;)
C'est beau la mauvaise foi :-) Dans ce cas, une simple comparaison suffisait ----> if($chaine=="15")
NB : préférer pour le problème énoncé au début dans ce thread strpos() Les expressions régulières c'est bien beau, mais quand on peut faire sans, comme ici, c'est mieux, on y gagne en temps d'éxécution.
-- Ampac
Dans news:3f731746$0$20640$626a54ce@news.free.fr,
Thibaut Allender raconte :
um... moi j'ai compris la problematique comme ceci :
la chaine contient 04 ou 05 ou 10 ou 15
dans ce cas, ma regexp fonctionne ;)
C'est beau la mauvaise foi :-)
Dans ce cas, une simple comparaison suffisait
----> if($chaine=="15")
NB : préférer pour le problème énoncé au début dans ce thread strpos()
Les expressions régulières c'est bien beau, mais quand on peut faire sans,
comme ici, c'est mieux, on y gagne en temps d'éxécution.
Dans news:3f731746$0$20640$, Thibaut Allender raconte :
um... moi j'ai compris la problematique comme ceci : la chaine contient 04 ou 05 ou 10 ou 15 dans ce cas, ma regexp fonctionne ;)
C'est beau la mauvaise foi :-) Dans ce cas, une simple comparaison suffisait ----> if($chaine=="15")
NB : préférer pour le problème énoncé au début dans ce thread strpos() Les expressions régulières c'est bien beau, mais quand on peut faire sans, comme ici, c'est mieux, on y gagne en temps d'éxécution.
-- Ampac
Ampac
Dans news:3f700684$0$20171$, Thibaut Allender raconte :
n'oubliez pas les caracteres ^ (debut de ligne) et $ (fin de ligne) si vous ne voulez pas que "150" soit aussi trouvé
d'ailleurs, strpos a vite ses limites, on ne peut pas distinguer "150" de "15", ils seront trouvés a la meme position.
N'importe nawak, suffit par exemple d'ajouter temporairement une virgule en fin de chaine et une autre en debut avec une espace. et apres tu fais le strpos sur ,15,
ca peut donner : if(strpos(" ,$machaine,","15")) echo "j'ai trouvé 15 dans machaine";
--> a mon sens mieux vaut eviter d'avoir recours a toute la puissance des expressions regulieres pour un cas aussi bete que celui-ci
-- Ampac
Dans news:3f700684$0$20171$626a54ce@news.free.fr,
Thibaut Allender raconte :
n'oubliez pas les caracteres ^ (debut de ligne) et $ (fin de ligne)
si vous ne voulez pas que "150" soit aussi trouvé
d'ailleurs, strpos a vite ses limites, on ne peut pas distinguer
"150" de "15", ils seront trouvés a la meme position.
N'importe nawak, suffit par exemple d'ajouter temporairement une virgule en
fin de chaine et une autre en debut avec une espace.
et apres tu fais le strpos sur ,15,
ca peut donner :
if(strpos(" ,$machaine,","15")) echo "j'ai trouvé 15 dans machaine";
--> a mon sens mieux vaut eviter d'avoir recours a toute la puissance des
expressions regulieres pour un cas aussi bete que celui-ci
Dans news:3f700684$0$20171$, Thibaut Allender raconte :
n'oubliez pas les caracteres ^ (debut de ligne) et $ (fin de ligne) si vous ne voulez pas que "150" soit aussi trouvé
d'ailleurs, strpos a vite ses limites, on ne peut pas distinguer "150" de "15", ils seront trouvés a la meme position.
N'importe nawak, suffit par exemple d'ajouter temporairement une virgule en fin de chaine et une autre en debut avec une espace. et apres tu fais le strpos sur ,15,
ca peut donner : if(strpos(" ,$machaine,","15")) echo "j'ai trouvé 15 dans machaine";
--> a mon sens mieux vaut eviter d'avoir recours a toute la puissance des expressions regulieres pour un cas aussi bete que celui-ci
-- Ampac
kMoog
Eh bien !!! Comment vous vous prenez la tête !!! :o((( Il faut arrête de vouloir tjrs faire des usines à gaz, les gars ;o)
Bcp plus simple et très efficace : if (stristr($chiffres,"15")) { echo "Valeur 15 trouvée." ; }
Marchera SYSTEMATIQUEMENT.
"Nicolas" a écrit dans le message de news: 3f6ffb9b$0$20182$
Merci beaucoup à vous 2 !
"Jedi121" a écrit dans le message de news: 3f6fef81$0$2795$
Nicolas wrote:
Bonsoir
Dans une variable $chiffres qui peut etre égale à 04,05,10,15
Comment savoir si 15 se trouve dans ma variable ?
Eh bien !!!
Comment vous vous prenez la tête !!! :o(((
Il faut arrête de vouloir tjrs faire des usines à gaz, les gars ;o)
Bcp plus simple et très efficace :
if (stristr($chiffres,"15")) {
echo "Valeur 15 trouvée." ;
}
Marchera SYSTEMATIQUEMENT.
"Nicolas" <nicoreims@msn_nospam.com> a écrit dans le message de news:
3f6ffb9b$0$20182$626a54ce@news.free.fr...
Merci beaucoup à vous 2 !
"Jedi121" <jedi121@free.fr._retirez.ceci> a écrit dans le message de news:
3f6fef81$0$2795$626a54ce@news.free.fr...
Nicolas <nicoreims@msn_nospam.com> wrote:
Bonsoir
Dans une variable $chiffres qui peut etre égale à 04,05,10,15