Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 06/09/2011, 11h43   #1
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Par défaut Compter le nombre de tours dans une boucle

Bonjour,
J'ai une boucle foreach et j'aimerais afficher le nombre de tour que la boucle a fait. Cependant l'affichage du nombre de tour ne doit pas être fait a la sortie de la boucle (trop facile), mais dans la boucle :
Code :
1
2
3
4
5
6
$i=0;
foreach ($arr as $valeur)
{
 $i++;
echo $lenombredetourtotal;
}
Merci de votre aide
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 12h08   #2
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

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

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
Bonjour,

J'avoue ne pas comprendre ton problème...

Si tu veux afficher le nombre de tour (nombre d'éléments dans ton tableau ?), pourquoi n'utilises-tu pas count ?
Code :
1
2
3
4
5
6
 
$nb = count($arr);
foreach ($arr as $valeur)
{
    echo $nb;
}
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 12h15   #3
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
Parce qu’en réalité, j'ai une condition dans ma boucle foreach
Code :
1
2
3
4
5
6
7
8
9
$i=0;
foreach ($arr as $valeur)
{
   if($valeur > 50)  
   {
      $i++;
      echo $lenombredetourtotal;
   }
}
dsl de l'oublie
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 12h21   #4
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

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

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
Dans ce cas tu es obligé de faire un parcours pour compter tes occurrences, puis de l'afficher hors de ce parcours.
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 12h24   #5
Membre du Club
 
Inscription : mai 2007
Messages : 209
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 209
Points : 50
Points : 50
c'est a dire, je ne te suis pas très bien là.
christobale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 12h27   #6
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

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

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
Code :
1
2
3
4
5
6
7
8
9
10
 
$i=0;
foreach ($arr as $valeur)
{
   if($valeur > 50)  
   {
      $i++;
   }
}
echo $i; // le nombre de tour total;
Après honnêtement, si tu dois faire ça c'est que tu as un problème de conception...
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 23h27   #7
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 307
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 307
Points : 4 488
Points : 4 488
si j'ai tout capté tu a un tableau et lorsque tu parcoure le tableau en fonction d'une condition tu dois afficher la valeur de parcours?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
$i=0;
$j=0;
$k=0;
 
$j=sizeof($arr)
 
foreach ($arr as $valeur)
{
   if($valeur > 50)  
   {
      $i++;
   }
 
   if( $j == $k) { echo $i; }
 
   $k++
 
}
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 11h45   #8
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par Théocrite Voir le message
Code :
1
2
3
4
5
6
7
8
9
10
 
$i=0;
foreach ($arr as $valeur)
{
   if($valeur > 50)  
   {
      $i++;
   }
}
echo $i; // le nombre de tour total;
Après honnêtement, si tu dois faire ça c'est que tu as un problème de conception...
ça ne répond pas du tout à la question :
Citation:
Cependant l'affichage du nombre de tour ne doit pas être fait a la sortie de la boucle (trop facile), mais dans la boucle
Et à mon avis, il fait d'autres traitements dans la boucle (sinon, ça ne serait pas demandé comme ça, je pense, j'imagine...j'espère )

Par ailleurs, soyons fou, on peut sortir la grosse artillerie !

Code :
echo array_sum(array_map(create_function('$v', 'if($v>=50) return 1;'), $arr));
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu 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 21h54.


 
 
 
 
Partenaires

Hébergement Web