[PHP] Tableau de Tableaux

volumeni -  
 volumeni -
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. gaerebut Messages postés 1060 Statut Membre 171
     
    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
    0
  2. volumeni
     
    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
    0
  3. gaerebut Messages postés 1060 Statut Membre 171
     
    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
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    $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>';
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. volumeni
     
    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 !
    0