OVH Cloud OVH Cloud

Trouver un chiffre dans une variable

24 réponses
Avatar
Nicolas
Bonsoir

Dans une variable $chiffres qui peut etre égale à 04,05,10,15

Comment savoir si 15 se trouve dans ma variable ?

Merci à tous !

4 réponses

1 2 3
Avatar
Thibaut Allender
"Ampac" wrote in message
news:3f74860a$0$20653$
Hahum, strpos() repondait simplement a la question posee.


certes, mais aller au dela de la question, et evoquer les limites d'une
fonctions, et les avantages d'une autre, c'est pas mal non plus.

Ca n'a rien d'une solution batarde dans le cas ICI present. Tu sais ce que
c'est que l'optimisation ? Parce que les expressions regulieres c'est
toujours plus lourd que de la simple comparaison de chaine. Fais des tests
en boucle et compare les temps de traitement, tu verras bien.


je sais je l'ai fait
sur 100 000 operations, l'eregi() prend 5.6 sec sur un p2 350 (ce qui n'est
pas tout recent), alors que strpos() prend 1.2 sec

donc strpos() est 4 a 5x plus rapide que eregi()

ceci dit, si on ne repete l'operation qu'une fois, le gain de temps est
insignifiant, et imaginer que l'emploi de strpos() au lieu de eregi() nous
fera gagner du temps, ca n'est plus simplement repondre a la question posee
(c) ampac ;)

j'ai codé des systemes de templates imbriqués, avec utilisation intensive de
strtr ou str_replace et j'en etais arrivé a la conclusion que str_replace
(utlisé avec des arrays) etait plus efficace que strtr (et comme il y avait
de multiples operations, c'etait interessant de se pencher sur la question
de l'optimisation)

conclusion : par ses divergences, on aura finalement appris 2 choses : les
expression regulieres, ca peut etre bien pratique, mais faut pas en abuser

a+

Avatar
Thibaut Allender
"kMoog" wrote in message
news:3f75b119$0$13307$

A chaque besoin sa solution.
D'après la demande d'origine, cette situation ne peut pas se présenter.


demande d'origine modifiee ensuite, si on en croit cette reponse :

d'ailleurs, strpos a vite ses limites, on ne peut pas distinguer "150" de
"15", ils seront trouvés a la meme position.
ah merci Thibaut car justement j'avais des souci



"D'après la demande d'origine, cette situation ne peut pas se présenter."

mais si un jour elle se presente, on economise un post ici puisque la
personne qui posait la premiere question ne reviendra pas en poser une 2e
genre "ok, ca marche avec 05 04 15, mais pas avec 05 04 15 150

on peut en parler, mais il faut tout de meme en evoquer les limites.

si on suit ton raisonnement, pourquoi mettre sa ceinture, alors que la
situation du freinage d'urgence ne devrait a priori pas se presenter car
tous les autres utilisateurs sont censés ne pas faire d'erreur...

a+


Avatar
kMoog
"Thibaut Allender" a écrit dans le message de
news: 3f760bb0$0$27028$
"kMoog" wrote in message
news:3f75b119$0$13307$


si on suit ton raisonnement, pourquoi mettre sa ceinture, alors que la
situation du freinage d'urgence ne devrait a priori pas se presenter car
tous les autres utilisateurs sont censés ne pas faire d'erreur...


Je dirais plus justement (en reprenant ton exemple de voiture) pourquoi
consommer 15 litre par Km alors qu'on peut, en réglant correctement son
moteur, n'en consommer que 8 ?

Les fonctions regexp sont plus gourmandes en processeur que les fonctions
str.
C'est pourquoi il est intéressant de développer des fonctionnalités
spécifiques aux cas à traiter :o)

Avatar
Thibaut Allender
"kMoog" wrote in message
news:3f781368$0$27602$

Je dirais plus justement (en reprenant ton exemple de voiture) pourquoi
consommer 15 litre par Km alors qu'on peut, en réglant correctement son
moteur, n'en consommer que 8 ?

Les fonctions regexp sont plus gourmandes en processeur que les fonctions
str.
C'est pourquoi il est intéressant de développer des fonctionnalités
spécifiques aux cas à traiter :o)


je suis entierement d'accord avec toi, mais ta voiture qui ne consomme que 8
litres n'avait pas de ceinture de sécurité :)

je prefère monter dans celle qui en consomme 15, et etre sur d'en sortir
vivant (ou monter dans celle de ampac qui en consomme 10 mais qui a des
ceintures)

bonne route ;)

--
+ thibaut allender // web design + php dev + digital photo
+ http://www.capsule.org

1 2 3