foreach et for

Mammouth du PHP | 725 Messages

29 juin 2012, 03:55

sirakawa: ca bouge pas du 1, le meme resultat:

Code : Tout sélectionner

1er commentaire 1 2eme commentaire 1 3eme commentaire 1 4eme commentaire 1 5eme commentaire 1

Eléphanteau du PHP | 33 Messages

29 juin 2012, 05:18

$i = 0;

foreach ($resultmem as $mV) {
    $i++;
    
    echo($i . ':' . $mV['texte']);
}
Ce code devrait alors convenir.

Mammouth du PHP | 725 Messages

29 juin 2012, 07:25

affiche 1 pour chaque commentaire, aucune incrementation

bon c'est pas grave, des foreach la dans peuvent empecher l'incrementation, je vais faire des requete avec JOIN comme ca j'aurais une seule foreach, ce que doit forcer l'incrementation avec vos precedents code, merci a vous

ViPHP
ViPHP | 2577 Messages

29 juin 2012, 09:05

Je dois être obtus, mais je ne vois toujours pas comment sont organisées tes données. Un var_dump ou le code qui alimente les tableaux ?

Mammouth du PHP | 2278 Messages

29 juin 2012, 09:36

$i = 0;

foreach ($resultmem as $mV) {
    $i++;
    
    echo($i . ':' . $mV['texte']);
}
Ce code devrait alors convenir.
initialiser à 0 et incrémenter en début de boucle, ou à 1 et incrémenter en fin de boucle ont ici le même effet.
Ceci fonctionne parfaitement :
<?PHP
$resultmem = array ();
for ($i = 1; $i <6;$i ++)
{
	$resultmem[] = "texte".$i;
}
$numero = 1;
foreach ($resultmem as $mV)
{
echo("<br />".$numero." : ".$mV);
$numero++;
}
?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 33 Messages

29 juin 2012, 10:00

$i = 0;

foreach ($resultmem as $mV) {
    $i++;
    
    echo($i . ':' . $mV['texte']);
}
Ce code devrait alors convenir.
initialiser à 0 et incrémenter en début de boucle, ou à 1 et incrémenter en fin de boucle ont ici le même effet.
Ceci fonctionne parfaitement :
<?PHP
$resultmem = array ();
for ($i = 1; $i <6;$i ++)
{
	$resultmem[] = "texte".$i;
}
$numero = 1;
foreach ($resultmem as $mV)
{
echo("<br />".$numero." : ".$mV);
$numero++;
}
?>
Je n'ai jamais dit le contraire.

Mon code à une (simple optimisation). En effet, lors du dernier tours de ta boucle, ta variable sera incrémenté... pour rien.

Mammouth du PHP | 2278 Messages

29 juin 2012, 12:59

La différence n'est pas simplement une question d'optimisation: une incrémentation en trop? Mais il y a des cas où on peut incrémenter juste après le début de la boucle, et d'autres où il faut le faire plus tard; en particulier dans les while
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 725 Messages

01 juil. 2012, 01:49

j'ai fais une jointure de table, donc j'ai garde une seule boucle foreach