[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. 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
    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. 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. $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. 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 !