prendre une valeur d un tableau

Eléphanteau du PHP | 13 Messages

02 août 2006, 12:11

bjr,
voici le souci :

le deboggeur me donne :
$numcarre: long =5;
$numcase: long= 0;
$square[$numcarre][$numcase]:string= "36"

je fais :

$poscase= $square[$numcarre][$numcase];

pour $poscase au lieu de "36" j'ai "00" ,correspondant à $square[0][0];

que se passe t il ??? $poscase n etant pas defini avant cette égalité

merci d'avance, je m'arrache les cheveux là..

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

02 août 2006, 13:20

Et sans passer par le débugger, si tu ajoutais simplement les lignes suivantes à l'endroit où tu définis $poscase :
// pour voir ce que contient le tableau :
echo '<pre>';
print_r($square);
echo '</pre>';

echo '<br>$numcarre est égale à ' . $numcarre; 
echo '<br>$numcase est égale à ' . $numcase; 

echo '<br>La cellule contient ' $square[$numcarre][$numcase];

Eléphanteau du PHP | 13 Messages

03 août 2006, 00:29

merci de ta reponse : voici ce que ca donne :
Array
(
[0] => Array
(
[0] => 00
[1] => 01
[2] => 02
[3] => 10
[4] => 11
[5] => 12
[6] => 20
[7] => 21
[8] => 22
)

[1] => Array
(
[0] => 03
[1] => 04
[2] => 05
[3] => 13
[4] => 14
[5] => 15
[6] => 23
[7] => 24
[8] => 25
)

[2] => Array
(
[0] => 06
[1] => 07
[2] => 08
[3] => 16
[4] => 17
[5] => 18
[6] => 26
[7] => 27
[8] => 28
)

[3] => Array
(
[0] => 30
[1] => 31
[2] => 32
[3] => 40
[4] => 41
[5] => 42
[6] => 50
[7] => 51
[8] => 52
)

[4] => Array
(
[0] => 33
[1] => 34
[2] => 35
[3] => 43
[4] => 44
[5] => 45
[6] => 53
[7] => 54
[8] => 55
)

[5] => Array
(
[0] => 36
[1] => 37
[2] => 38
[3] => 46
[4] => 47
[5] => 48
[6] => 56
[7] => 57
[8] => 58
)

[6] => Array
(
[0] => 60
[1] => 61
[2] => 62
[3] => 70
[4] => 71
[5] => 72
[6] => 80
[7] => 81
[8] => 82
)

[7] => Array
(
[0] => 63
[1] => 64
[2] => 65
[3] => 73
[4] => 74
[5] => 75
[6] => 83
[7] => 84
[8] => 85
)

[8] => Array
(
[0] => 66
[1] => 67
[2] => 68
[3] => 76
[4] => 77
[5] => 78
[6] => 86
[7] => 87
[8] => 88
)

)


$numcarre est égale à 5
$numcase est égale à 0
La cellule contient 36

------

jusqu'à là tout va bien mais
$poscase= $square[$numcarre][$numcase];
donne "00" et non "36"

pourquoi ?