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 :

tester la présence de mot


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 78
    Points
    78
    Par défaut tester la présence de mot
    Bonsoir,

    Voilà je cherche à tester si plusieurs mots sont présents dans une chaines.
    Actuellement j’utilise cette méthode.
    Je cherche à savoir si ma méthode et optimale ou si il en existe une plus simple.

    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    	function strpos_array($haystack, $needle) {
    		if(!is_array($needle)) $needle = array($needle);
    		foreach($needle as $what) {
    			if((strpos($haystack, $what))!==false) 
    				return true;
    		}
    		return false;
    	}
     
    	$needle = array('equipement','blanc');
    	$haystack = "le chat est blanc";
    	if (strpos_array($haystack, $needle))
    		echo "KO <br>";
    	else 
    		echo "OK <br>";
     
    	$haystack = "Un equipement est noir";
    	if (strpos_array($haystack, $needle))
    		echo "KO <br>";
    	else 
    		echo "OK <br>";
    	$haystack = "le poisson est rouge";
    	if (strpos_array($haystack, $needle))
    		echo "KO <br>";
    	else 
    		echo "OK <br>";
     
    	echo "test terminé";

  2. #2
    Membre régulier Avatar de Freyskeyd
    Homme Profil pro
    Développeur PHP | Flex
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur PHP | Flex
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Points : 94
    Points
    94
    Par défaut
    ::

    Yop

    Non perso je ne vois pas plus simple. Sauf si tu n'as pas besoin de récupérer la pos.

    ++

  3. #3
    Membre régulier
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 78
    Points
    78
    Par défaut
    Salut,

    Non je n'ai pas besoin de récupérer la position.

  4. #4
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    En fait tu ne testes que l'existence du premier que tu trouves puisque qu'avec le return tu sors de la fonction.
    Gères plutôt un compteur.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  5. #5
    Membre régulier
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 78
    Points
    78
    Par défaut
    Bonjour,
    Oui en effet je test à savoir uniquement si l'un des mots est présent.
    Comment faire et le bénéfice est-il réel ?

  6. #6
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    On ne peut pas parler de bénéfice puisque ce sont deux fonctionnalités totalement différentes.
    Soit ton but est de trouver au moins un mot, soit ton objectif est de tous les trouver.
    A toi de nous dire ce que tu veux, sinon on peut épiloguer longtemps.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  7. #7
    Membre régulier
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 78
    Points
    78
    Par défaut
    Re,
    Mon but est de trouver au moins un mot.

    Je pensais que ma réponse était claire mais parfois les difficultés de la langue française surgisses.

    Bonne soirée.

  8. #8
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Voilà je cherche à tester si plusieurs mots sont présents dans une chaines.
    Mon but est de trouver au moins un mot.
    En effet la langue française possède moultes particularités qui font que se comprendre n'est pas simple.

    Ta fonction répond parfaitement à ce que tu veux dans ton dernier message.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

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

Discussions similaires

  1. [Débutant] Tester la présence d'un mot dans un String
    Par Mynato dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/03/2014, 10h13
  2. Tester la présence de plusieurs mots dans une phrase
    Par Azerty32 dans le forum Général Python
    Réponses: 20
    Dernier message: 30/07/2010, 17h15
  3. Tester la présence un gros nombre de mots sur une liste
    Par Montor dans le forum Contribuez
    Réponses: 0
    Dernier message: 25/04/2009, 12h28
  4. [JSP]Tester la présence d'un attribut
    Par StagiaireEnGalère dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 08/02/2005, 09h35
  5. Réponses: 11
    Dernier message: 02/04/2004, 18h33

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