[PHP] Tableau de Tableaux

Bonjour,
Je travaille en php avec diverses boucles.

Le but est d'obtenir un truc comme ceci :

$cells[1][5] qui m'afficherait l'élément qui positionné à la ligne 1, colonne 5.

voilà mon problème :

$cells=array();
$stock_cols=array();
for($ligne=$ligne_origin; $ligne< $hauteurtableau; $ligne++){
for($count_h=$count_origin; $count_h < $largeurtableau; $count_h++){
// je stocke les valeurs :
$stock_cols[$count]=$une_valeur;
}
//puis je mets mes colonnes obtenues dans la ligne concernée
$cells[$ligne]=stock_cols;
}

Problème c'est que lorsque j'affiche par exemple $cells[8][8]
il m'affiche Array[8]

merci pour votre aide...
Configuration: Windows XP Internet Explorer 7.0

5 réponses

  1. array('0' => array(1, 2, 3),
    '1' => array(1, 2, 3)
    );
    je le vois comme un tableau de 2lignes et 3colonnes ^^

    finalement j'étais pas trop loin de la réalité, je ne sais plus ce que j'ai bricolé dans tous les sens mais ça marche
    merci !
    1. $cells=array();
      
      for($ligne=$ligne_origin; $ligne< $hauteurtableau; $ligne++){
      	$stock_cols=array();//on vide l'array col à chaque ligne
      	for($count_h=$count_origin; $count_h < $largeurtableau; $count_h++){
      		// je stocke les valeurs :
      		$stock_cols[$count_h]=$une_valeur; //une erreur la! tu avais mis $count au lieu de $count_h
      	}
      	//puis je mets mes colonnes obtenues dans la ligne concernée
      	$cells[$ligne]=$stock_cols;
      } 
      
      // ou autre solution:
      
      $cells=array();
      
      for($ligne=$ligne_origin; $ligne< $hauteurtableau; $ligne++){
      	$cells[$ligne]=array();
      	for($count_h=$count_origin; $count_h < $largeurtableau; $count_h++){
      		// je stocke les valeurs :
      		$cells[$ligne][$count_h]=$une_valeur; 
      	}	
      } 
      
      //et un coup pour voir:
      
      echo '<pre>';
      print_r($cells);
      echo '</pre>';
      
      1. Essaye comme ça:

        $cells=array();
        $stock_cols=array();
        for($ligne=$ligne_origin; $ligne< $hauteurtableau; $ligne++){
        for($count_h=$count_origin; $count_h < $largeurtableau; $count_h++){
        // je stocke les valeurs :
        $cells[$ligne][$count]=$une_valeur;
        }
        } 


        En fait, ça ne marche pas comme tu le vois !
        C'est pas les lignes et les colones, enfin en tout cas, je le vois pas comme ça moi !

        C'est plutôt, chaque élément du tableau est un tableau !
        Comme ceci:


        array('0' => array(1, 2, 3),
        '1' => array(1, 2, 3)
        );


        A+
        Gaerebut
        1. arf je l'ai zappé en recopiant.
          3 dimensions ? où ça ??

          comment je fais pour récup ma valeur alors ?

          honnetement je ne suis sencé n'avoir que 2 dimensions : lignes et cololles, non ?

          et puis autre probleme qui est survenu, en bricolant ...

          dans mon FOR lignes
          $cells[$ligne]="monstock_cols".$stock_cols[$count_h]."mon count".$count_h;
          me retourne bien mes valeurs

          mais si je construit un tableau avec
          echo "<td>".$ligne.";".$count_h."-". $cells[$ligne][$count_h]. "</td>";
          $cells[$ligne][$count_h] me retourne 1 seule lettre dans la chaine de caractère

          et en dehors
          $cells[8][8] ne fonctionne pas

          je deviens fou
          1. Bonjour,

            $cells[$ligne]=stock_cols;

            t'as oublié un $ avant stock_cols;

            Sinon, c'est parce que tu fais pas un tableau a 2 dimension mais à 3 ! voila pourquoi ! :)
            A+
            Gaerebut