Afficher les données d'un tableau avec while

Afficher les données d'un tableau avec while - PHP - Programmation

Marsh Posté le 17-11-2005 à 02:11:51    

Je dois faire un exercice très simple en PHP qui consiste a faire une boucle while affichant les données d'un tableau mais je bute dessus j'arrive pas a comprendre la logique.  
 
Il m'est demander : "Déclarez un tableau et afficher les valeur des differentes case à l'aide d'une boucle WHILE".
 
si je fais :  
 
<?
 
$tab=array(1,2,3)
 
je vois pas quoi faire avec le while pareil que si je fais
 
<?
 
$tab[0]=1
$tab[1]=2
$tab[2]=3
 
merci pour votre aide je sais je suis un noob et c'est très simple.

Reply

Marsh Posté le 17-11-2005 à 02:11:51   

Reply

Marsh Posté le 17-11-2005 à 02:41:39    

comment accèdes-tu aux valeurs du tableau ?
 

Code :
  1. $tab[un_numéro]


donc pour parcourir tous les éléments de ton tableau, tu dois afficher

Code :
  1. echo $tab[premier_numéro];


 
jusquà
 

Code :
  1. $tab[dernier_numéro]


 
tu peux trouver le dernier_numéro grâce à

Code :
  1. count();


 
 
voilà :)


Message édité par art_dupond le 17-11-2005 à 02:42:32
Reply

Marsh Posté le 17-11-2005 à 02:46:01    

Mais dans ce cas la je n'ai pas besoin d'utiliser la commande while il me suffit de faire :
 
$tab=array(1,2,3);
 
echo "$tab[0]";
echo "$tab[1]";
echo "$tab[3]";
 
donc pas besoinde la boucle hors il faut que je l'utilise  :sweat:  
 
et je vois pas faire un while($tab< quelque chose a vrai dire je vois pas comment utiliser le count.  
 
en tout cas merci pour ta reponse. :jap:  

Reply

Marsh Posté le 17-11-2005 à 04:23:17    

imagine par exemple que tu aies 300000000 d'éléments dans ton tableau. ce serait un peu fastidieux de les afficher comme ca non ? alors qu'avec un while, tu peux le faire en 3 lignes (ou 2, ou 1 ;))


Message édité par art_dupond le 17-11-2005 à 04:24:29
Reply

Marsh Posté le 17-11-2005 à 05:48:43    

<?php
 
$tab=array(1,2,3);
$result = count ($tab);
   
 
while($result =! 2){
   echo "le premier element est $tab[0]";
   $tab[0]++;
   }  
?>
 
sa doit être risible mais j'ai trouver que sa et sa marche pas

Reply

Marsh Posté le 17-11-2005 à 06:19:50    

:pfff:

Code :
  1. <?php
  2.     $tab=array(1,2,3);
  3.     $i=0;
  4.     while($i<count($tab)) {
  5.         echo "l'élément $i est $tab[$i]";
  6.         $i++;
  7.     }
  8. ?>

bon maintenant t'essaie avec une boucle for :o


---------------
The Rom's, à votre service
Reply

Marsh Posté le 17-11-2005 à 06:36:11    

Je comprends pas le $i=0; et le ($i<count($tab))
 
sa veux dire que tant que (0<2) 2 etant le nombre d'elements dans le tableau [0] [1] et [2] je dis "l'element 0 est $tab[0]" puis [1] puis [2] je rajoute 1 a 0  
 
sa fais que  
 
$i=0
$i=1
$i=2  
 
plutôt que < pourquoi pas mettre !=  
 
ce qui ferait : tant que 0 est different de 2 je boucle jusqu'a ce que 0 est atteint la valeur 2.  
 
pour le for j'vais voir si j'y arrive.

Reply

Marsh Posté le 17-11-2005 à 06:39:28    

<?php
         $tab=array(1,2,3);
         
        for($i=0;$i<count($tab); $i++) {
            echo "l'élément est $i $tab[$i] ";
        }
     ?>
 
pour le for


Message édité par Neverius le 17-11-2005 à 06:48:20
Reply

Marsh Posté le 17-11-2005 à 07:58:30    

voila, le for et le while c'est pareil, sauf que tu fais $i=0 et $i++ directement dans la commande for
(c'est pareil dans ce cas ! pas forcement dans d'autres)
 
à vérifier count($tab)=2 ou 3
j'aurais dis 3 mais je peux me tromper


---------------
The Rom's, à votre service
Reply

Marsh Posté le 17-11-2005 à 08:03:40    

Mais j'hallucine le prochain exercice je dois faire les tables de multiplication par 10 dans un tableau  :ouch:  
 
j'ai fais sa mais ya moyen de faire plus simple avec une seconde boucle pour les multiplication ainsi que pour l'affichaeg mais je vois pas encore:
 
<?
 
          for ($i=0;$i<=10;$i++) {
             $r=$i*1;
  $s=$i*2;
  $t=$i*3;
  $u=$i*4;
  $v=$i*5;
  $w=$i*6;
  $x=$i*7;
  $y=$i*8;
  $z=$i*9;  
  $zz=$i*10;
             
           
           
    echo "<tr>";
?>
 
 
<td><? echo "1*$i=$r<BR>\n"; ?> </td>
<td><? echo "2*$i=$s<br>\n"; ?> </td>
<td><? echo "3*$i=$t<br>\n"; ?> </td>
<td><? echo "4*$i=$u<br>\n"; ?> </td>
<td><? echo "5*$i=$v<br>\n"; ?> </td>
<td><? echo "6*$i=$w<br>\n"; ?> </td>
<td><? echo "7*$i=$x<br>\n"; ?> </td>
<td><? echo "8*$i=$y<br>\n"; ?> </td>
<td><? echo "9*$i=$z<br>\n"; ?> </td>
<td><? echo "10*$i=$zz<br>\n"; ?> </td>
 
 
 
<?
    echo "</tr>";  
         }
 
 
 
?>

Reply

Marsh Posté le 17-11-2005 à 08:03:40   

Reply

Marsh Posté le 17-11-2005 à 08:14:42    

imbriques 2 boucles for :

Code :
  1. <?php
  2.     echo "<table><tr><td>X</td>"; // table multiplication
  3.     for($j=1;$j<11;$j++) {
  4.         echo "<td>$j</td>"; // les indices de chaque colonne
  5.     }
  6.     echo "</tr>";
  7.     for($i=1;$i<11;$i++) {
  8.         echo "<tr><td>$i</td>"; // les indices de chaque ligne
  9.         for($j=1;$j<11;$j++) {
  10.             $res=$i*$j;
  11.             echo "<td>$res</td>";
  12.         }
  13.         echo "</tr>";
  14.     }
  15.     echo "</table>";
  16. ?>


---------------
The Rom's, à votre service
Reply

Marsh Posté le 17-11-2005 à 08:35:28    

merci bien en tout cas j'aurais pas trouver tout seul : :jap:

Reply

Marsh Posté le 17-11-2005 à 11:33:44    

Citation :

Je dois faire un exercice très simple en PHP qui consiste a faire une boucle while affichant les données d'un tableau mais je bute dessus j'arrive pas a comprendre la logique.


Citation :

Mais j'hallucine le prochain exercice je dois faire les tables de multiplication par 10 dans un tableau


 
c'est sympa des nous faire faire tes devoirs, et pis c'est full compliant avec la charte de ce forum  :pfff:


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 17-11-2005 à 11:46:00    

bah en fait a la base je cherchais pas a ce qu'on me les fasse mais simplement de m'aider, j'bloquais a mort sur cette exercice.  
 

Reply

Sujets relatifs:

Leave a Replay

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