Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/04/2011, 16h55   #1
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 89
Points : 36
Points : 36
Par défaut problème de syntaxe pour l'accès à un élément d'un array

Bonjour

j'ai l'array suivant
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Array
(
    [@attributes] => Array
        (
            [active] => true
        )
 
    [PUDO_ID] => P22216
    [DISTANCE] => 2569
    [NAME] => D UNE FLEUR A L AUTRE
    [ADDRESS1] => 61T AVANUE ARISTIDE BRIAND
    [ADDRESS2] => Array
        (
        )
 
    [ADDRESS3] => Array
        (
        )
 
    [LOCAL_HINT] => Array
        (
        )
 
    [ZIPCODE] => 21000
    [CITY] => DIJON
    [LONGITUDE] => 5,05305555556
    [LATITUDE] => 47,3341666667
    [MAP_URL] => Array
        (
        )
 
    [AVAILABLE] => full
    [OPENING_HOURS_ITEMS] => Array
        (
            [OPENING_HOURS_ITEM] => Array
                (
                    [0] => Array
                        (
                            [DAY_ID] => 2
                            [START_TM] => 09:00
                            [END_TM] => 19:00
                        )
 
                    [1] => Array
                        (
                            [DAY_ID] => 3
                            [START_TM] => 09:00
                            [END_TM] => 19:00
                        )
 
                    [2] => Array
                        (
                            [DAY_ID] => 4
                            [START_TM] => 09:00
                            [END_TM] => 19:00
                        )
 
                    [3] => Array
                        (
                            [DAY_ID] => 5
                            [START_TM] => 09:00
                            [END_TM] => 19:00
                        )
 
                    [4] => Array
                        (
                            [DAY_ID] => 6
                            [START_TM] => 09:00
                            [END_TM] => 19:00
                        )
 
                    [5] => Array
                        (
                            [DAY_ID] => 7
                            [START_TM] => 09:00
                            [END_TM] => 12:00
                        )
 
                )
 
        )
 
    [HOLIDAY_ITEMS] => Array
        (
        )
 
)
et il me sort un erreur "Fatal error: Cannot use string offset as an array" quand j'essaye d'accéder à cet élément :

Code :
$horaires	=	$monArray["OPENING_HOURS_ITEMS"]["OPENING_HOURS_ITEM"][0]["DAY_ID"];
Je ne comprends pas car ça correspond bien !
Pourriez-vous m'aiguiller sur ce qui n'irait pas ?

Merci d'avance
cedrick21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 17h00   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Ton print_r() est-il juste avant ton accès ?

Car apparemment sur ce topic : http://www.developpez.net/forums/d49...t-as-an-array/
Le soucis venait d'un problème de déclaration de variable. Donc il se pourrait que ton array ne soit pas accessible à l'endroit où tu l'appelles et donc il tenterai de créer ces index.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 09h17   #3
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 89
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 89
Points : 36
Points : 36
ce que je n'ai pas précisé c'est que j'accède bien à
Code :
$horaires = $monArray["OPENING_HOURS_ITEMS"]
mais pas plus loin, si j'essaye
Code :
$horaires = $monArray["OPENING_HOURS_ITEMS"]["OPENING_HOURS_ITEM"]
il devrait me dire que $horaire = array() ... mais non il me retourne directement l'erreur.

c'est un peu bizarre je trouve ...

à tout hasard voici mon code en entier
Code :
1
2
3
4
5
6
7
8
9
10
11
12
for($i=0; $i<$nbRelais; $i++)
{
	$distance	=	number_format($arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["DISTANCE"] / 1000, 3, ',', ' ');
 
	$ewp->_HTML	.=	'<input type="radio" name="ptsRelaise" id="ptsRelais_'.$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["PUDO_ID"].'" value="'.$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["PUDO_ID"].'" />
					<b>'.$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["NAME"].'</b> -
					<i>'.$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["ADDRESS1"].'
					'.$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["ZIPCODE"].' '.$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["CITY"].' ('.$distance.'km)</i><br />';
 
	$horaires	=	$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["AVAILABLE"]["OPENING_HOURS_ITEMS"]["OPENING_HOURS_ITEM"][0]["DAY_ID"];
 
}
et donc ce qui fonctionne :
Code :
$horaires	=	$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["AVAILABLE"]["OPENING_HOURS_ITEMS"]
et ce qui ne passe plus
Code :
$horaires	=	$arrXml["PUDO_ITEMS"]["PUDO_ITEM"][$i]["AVAILABLE"]["OPENING_HOURS_ITEMS"]["OPENING_HOURS_ITEM"][0]["DAY_ID"];
Est-ce qu'il n'y aurait pas un nombre limité de niveau dans un array ... ça m'étonnerait .... !?!?

Merci de votre aide
cedrick21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h15.


 
 
 
 
Partenaires

Hébergement Web