Indices Tableau 2 dimensions

Petit nouveau ! | 1 Messages

18 juin 2011, 22:53

Bonsoir à tous,

J'ai une question concernant les tableaux à deux dimensions. Je voudrais affecter des valeurs à un tableau $DATAS ayant n lignes et m colonnes. Lorsque j'écris le code suivant:
		for($i=0;$i<$nbLignes;$i++){
				for($j=0;$j<$nbColonnes;$j++){
					$DATAS[$i][$j]=1;
					echo $DATAS[$i][$j];					
				}
			}
		echo "salut les gens";
L'affichage des cellules de tableaux se passe bien mais l'affichage de "salut les gens" n'apparaît pas. Du coup, le code qui se trouve en dessous de ces boucles fort ne s'affiche pas. Mais si je remplace dans DATAS[$i][$j]=1; l'indice i ou j par une vrai valeur (par exemple 0) alors l'affichage de "salut les gens".

Je vous remercie d'avance pour votre aide.

Bonne soirée

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

18 juin 2011, 22:58

salut,

peux tu nous montrer le code complet ? (manque les variables de fin des boucle) ?

tu n'aurais pas créer une boucle infi ?

aucun message d'erreur ?

perso j'ai testé
<?php
$nbLignes	= 12;
$nbColonnes = 12;
for($i=0;$i<$nbLignes;$i++){
	for($j=0;$j<$nbColonnes;$j++){
		$DATAS[$i][$j]=1;
		echo '|',$i,'|',$j,'|'."\r\n";                               
	}
}
echo "salut les gens";
?>
le résultat est

Code : Tout sélectionner

|0|0| |0|1| |0|2| |0|3| |0|4| |0|5| |0|6| |0|7| |0|8| |0|9| |0|10| |0|11| |1|0| |1|1| |1|2| |1|3| |1|4| |1|5| |1|6| |1|7| |1|8| |1|9| |1|10| |1|11| |2|0| |2|1| |2|2| |2|3| |2|4| |2|5| |2|6| |2|7| |2|8| |2|9| |2|10| |2|11| |3|0| |3|1| |3|2| |3|3| |3|4| |3|5| |3|6| |3|7| |3|8| |3|9| |3|10| |3|11| |4|0| |4|1| |4|2| |4|3| |4|4| |4|5| |4|6| |4|7| |4|8| |4|9| |4|10| |4|11| |5|0| |5|1| |5|2| |5|3| |5|4| |5|5| |5|6| |5|7| |5|8| |5|9| |5|10| |5|11| |6|0| |6|1| |6|2| |6|3| |6|4| |6|5| |6|6| |6|7| |6|8| |6|9| |6|10| |6|11| |7|0| |7|1| |7|2| |7|3| |7|4| |7|5| |7|6| |7|7| |7|8| |7|9| |7|10| |7|11| |8|0| |8|1| |8|2| |8|3| |8|4| |8|5| |8|6| |8|7| |8|8| |8|9| |8|10| |8|11| |9|0| |9|1| |9|2| |9|3| |9|4| |9|5| |9|6| |9|7| |9|8| |9|9| |9|10| |9|11| |10|0| |10|1| |10|2| |10|3| |10|4| |10|5| |10|6| |10|7| |10|8| |10|9| |10|10| |10|11| |11|0| |11|1| |11|2| |11|3| |11|4| |11|5| |11|6| |11|7| |11|8| |11|9| |11|10| |11|11| salut les gens


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

24 juin 2011, 19:47

modifications:
cosmétiques
déplacement des accolades pour en vérifier plus aisément l'appariement
ajout de la déclaration du tableau (je suis un inconditionnel de la déclaration, même à la douane)
changement de l'affectation pour vérifier si le tableau a bien les dimensions voulues
Ton code d'origine fonctionne... Ca c'est ce que j'en ai fait, mais la syntaxe est la même
<?php
$nbLignes = 12;
$nbColonnes = 12;
$datas = array();
for ($i = 0; $i < $nbLignes; $i++)
{
for ($j = 0; $j < $nbColonnes; $j++)
{
$datas[$i][$j]= "ligne ".$i."colonne ".$j."<br>";
echo $datas[$i][$j];
}
}
echo "salut les gens";
?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 juin 2011, 21:00

modifications:
cosmétiques
déplacement des accolades pour en vérifier plus aisément l'appariement
ajout de la déclaration du tableau (je suis un inconditionnel de la déclaration, même à la douane)
changement de l'affectation pour vérifier si le tableau a bien les dimensions voulues
?>
hum l'emplacement des accolades a la lignes en dessous n'est pas forcement plus clair, tout editeur de texte (potable) permettent de retrouver la seconde accolade, parenthèse, crochet etc

inconditionnel de la déclaration, pourquoi pas même si c'est inutile, perso je préfère l'indentation c'est plus utile ;)

il me semblait avoir indiqué que son code fonctionnait non ?

bref deuxième post inutile ... :mrgreen:
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

25 juin 2011, 22:47

Bravo ,les ayatollas...
Non, tu n'avais pas dit que son code fonctionnait, et de plus ce n'était pas son code...
Quant au déplacement des accolades, il permet de repérer visuellement les appariements. C'est une vieille habitude héritée en particulier de la pratique de LISP où les paires de parenthèses ne sont pas toujours évidentes à repérer...