foreach qui marche pas

foreach qui marche pas - PHP - Programmation

Marsh Posté le 16-11-2004 à 10:49:42    

Hello
 
J'ai pourtant l'habitude d'utiliser foreach dans mes projets, mais ce matin, soit je suis très fatigué, soit je suis très con :D
 
Place au code :

echo '<br />TAB1<br />';
 
 $tab[] = '123';
 $tab[] = '456';
 $tab[] = '789';
 $tab[] = 'abc';
 
 print_r($tab);
 echo '<br />';
 echo count($tab).' elements<br />-----<br />';
   
 foreach($tab as $tab_index => $tab_element);
 {
  echo $tab_index.' '.$tab_element.'<br />';
 }
 
 
 echo '<br />TAB2<br />';
 
 $tab2 = array('123', '456','789','abc');
 print_r($tab2);
 echo '<br />';
 echo count($tab2).' elements<br />-----<br />';
 
 foreach($tab2 as $tab_index => $tab_element);
 {
  echo $tab_index.' '.$tab_element.'<br />';
 }
 
 
 echo '<br />TAB3<br />';
 
 $tab3 = split(',', '123,456,789,abc');
 print_r($tab3);
 echo '<br />';
 echo count($tab3).' elements<br />-----<br />';
   
 foreach($tab3 as $tab_index => $tab_element);
 {
  echo $tab_index.' '.$tab_element.'<br />';
 }
 
 
 echo '<br />TAB4<br />';
 
 $tab4 = split(',', '123,456,789,abc');
 print_r($tab4);
 echo '<br />';
 echo count($tab4).' elements<br />-----<br />';
   
 for($tab_index=0; $tab_index < count($tab4); $tab_index++)
 {
  $tab_element=$tab4[$tab_index];
  echo $tab_index.' '.$tab_element.'<br />';
 }


On obtient le resultat suivant :

TAB1
Array ( [0] => 123 [1] => 456 [2] => 789 [3] => abc )  
4 elements
-----
3 abc
 
TAB2
Array ( [0] => 123 [1] => 456 [2] => 789 [3] => abc )  
4 elements
-----
3 abc
 
TAB3
Array ( [0] => 123 [1] => 456 [2] => 789 [3] => abc )  
4 elements
-----
3 abc
 
TAB4
Array ( [0] => 123 [1] => 456 [2] => 789 [3] => abc )  
4 elements
-----
0 123
1 456
2 789
3 abc


 
Conclusion : pourquoi mes 3 foreach ne fonctionnent pas alors que print_r m'affiche bien un contenu correct ?


Message édité par spark le 16-11-2004 à 10:52:40
Reply

Marsh Posté le 16-11-2004 à 10:49:42   

Reply

Marsh Posté le 16-11-2004 à 10:54:41    

Testé avec php 4.2.2 et 4.3.9, ca fait pareil...

Reply

Marsh Posté le 16-11-2004 à 11:00:24    

pas de ; apres ton foreach ;)

Reply

Marsh Posté le 16-11-2004 à 11:01:50    

C'est bon, j'ai trouvé...
Je suis effectivement fatigué...
Il ne faut pas mettre de point-virgule à la fin d'un foreach(), ca va faire une boucle avec aucunes instructions dedans, et c'est pourquoi je recuperais que la dernière valeur de la boucle... :D :D

Reply

Marsh Posté le 16-11-2004 à 11:02:08    

grilled ;) mais j'ai trouvé tout seul quand meme :D

Reply

Marsh Posté le 16-11-2004 à 11:02:31    

saloperie d'habitude de mettre des ; à chaque fin le ligne !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed