Tableau à 2 dimensions

Tableau à 2 dimensions - PHP - Programmation

Marsh Posté le 13-01-2006 à 16:13:20    

Bonjour,
 
Après avoir cherché sur plusieurs sites, je ne comprends pas comment déclarer un tableau php à 2 dimensions ( 30 lignes, 5 colonnes). La plupart des sites montrent des exemples avec initialisation lors de la création, alors que je ne veux pas l'initialiser à la création car je veux l'initialiser à partir d'une requête mysql.
 
En vous remerciant d'avance pour votre aide.

Reply

Marsh Posté le 13-01-2006 à 16:13:20   

Reply

Marsh Posté le 13-01-2006 à 16:24:01    

Cat Mary > En php, on ne déclare pas le nombre de dimension ni la taille maximale du tableau. On peut déclarer un tableau en faisant un

Code :
  1. $tab= array();

Cette ligne de code donne le type tableau à la variable $tab sans lui affecter de contenu (mais tout son contenu est perdus)
 
En fait, en php, il n'existe pas à proprement parlé de tableau à deux dimension, mais des tableaux de tableaux. En clair, un tableau dont chaque case contient un autre tableaux. Ca permet de créer des structure plus souple. (mais plus bordélique aussi si on fait n'importe quoi)
Pour créer une case dans le second niveau d'imbrication, il suffit de faire un

Code :
  1. $tab[n][m]="mavaleur"

(n et m devant être remplacé par un nombre ou une chaine de caractére)
ATTENTION : Si $tab[n] n'existe pas avant cette ligne, php générera une alerte (warning) qui sera affiché en fonction du réglage error_reporting du php.ini. Pour éviter ça, il faut vérifier l'existance à l'aide d'un isset($tab[n]) et initialisé cette case comme un tableau vide au besoin.


Message édité par omega2 le 13-01-2006 à 16:25:54
Reply

Marsh Posté le 13-01-2006 à 16:36:26    

Merci omega2. donc je déclare mon tableau : "$tab=array(array());", et donc après est-ce que je peux directement mettre par exemple : "$tab[1][1]=4" ?

Reply

Marsh Posté le 13-01-2006 à 16:45:07    

Cat Mary a écrit :

Merci omega2. donc je déclare mon tableau : "$tab=array(array());", et donc après est-ce que je peux directement mettre par exemple : "$tab[1][1]=4" ?


en fait tu peux même mettre directement $tab[1][1]=4 sans déclarer ton tableau ... c'est la beauté du php :o

Reply

Marsh Posté le 13-01-2006 à 16:48:59    

array() une seule fois déclare un tableau, array(array()) déclare un tableau d'une case dont cette table contient un tableau vide.
 
Array() permet de créer un tableau dont le contenu des cases est mis dans les parentaises avec une virgule comme séparateur de contenu de case.
 
je sais, j'aurais du te le dire plus tôt. En fait, j'aurais du te renvoyer dessuite à la documentation pour plus d'information. ( http://www.nexen.net/docs/php/anno [...] .array.php ) Et n'hésite pas non plus à lire des tutoriels, ils sont là pour quand on débute.
 
Si tu veux vraiment initialiser tes 30 cases, il faut déclarer ton premier niveau de tableau et ensuite initialisé chacune des 30 cases. mais un truc à savoir, en php, on a pas besoin de déclarer au début du script les différentes variables qu'on va utiliser ni de quel type elles sont : quand on leur donne une valeur, ca déclare automatiquement la variable avec le type de valeur correspondant.

Reply

Marsh Posté le 13-01-2006 à 16:55:20    

ah ok, merci je vais lire cette doc et essayer

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed