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 :

limiter les résultats "foreach"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2011
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 63
    Par défaut limiter les résultats "foreach"
    bonjour à tous,

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $mots = 'mot1, mot2, mot3, mot4, mot5';
    $mots = explode(", ", $mots);
    foreach ($mots as $mots){
    echo $mots;
    }
    Ma question est simple : comment puis-je limiter l'affichage à 3 mots max ?

    Ce qui fait que le echo me donnerait : mot1 mot2 mot3
    et c'est tout !

    Merci bcp de votre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Par défaut
    peut être simplement avec un compteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $mots = 'mot1, mot2, mot3, mot4, mot5';
    $mots = explode(", ", $mots);
    $i=0;
    foreach ($mots as $mots){
    echo $mots;
    $i++;
    if($i>=2)
    {
    break;
    }
    }

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 646
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $mots = 'mot1, mot2, mot3, mot4, mot5';
    $mots = explode(", ", $mots);
    foreach ($mots as $mots){
    echo $mots;
    }
    En panne d'inspiration pour les noms de variables ?

    Sinon, regarde du coté de array_ slice
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 517
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 517
    Par défaut
    Salut,

    je ne preconise pas la solution de numew.

    meme si elle fonctionnerait, il faut eviter les break et les continue.

    si tu dois utiliser break ou continue, c'est que ton algo a ete mal pense.
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Il y a aussi while() qui fonctionne très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $mots = 'mot1, mot2, mot3, mot4, mot5';
    $mots = explode(", ", $mots);
    $i = -1;
    while(++$i < 3) {
       echo $mots[$i];
    }

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Février 2006
    Messages : 81
    Par défaut
    salut,
    Je suis curieux de savoir pourquoi il faut éviter les "break" et les "continue".
    comme si array_slice en interne ne va pas boucler...

    Des fois on ne sait pas quand on doit quitter une boucle, par exemple ça dépends de la réponse d'un appel asynchrone (sockets, curl..)

    Mais de dire que utiliser break/continue == algorithme mal conçu
    je trouve ça exagéré. cet exemple n'est pas parlant, mais ta remarque non plus

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

Discussions similaires

  1. Limiter les résultats d'une zone de liste déroulante (requête)
    Par Tipstitou dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 11/02/2008, 11h01
  2. [XI][Crystal] Limiter les résultats
    Par Shahix dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 21/08/2007, 14h25
  3. Limiter les résultats d'une requête à \today\' - n jours
    Par Eddy Duflos dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/10/2005, 08h46

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