[PHP] Tableau de Tableaux

Fermé
-
 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...

5 réponses

Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
172
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
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
Messages postés
1017
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
22 novembre 2013
172
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
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
896
$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>';
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 !