OVH Cloud OVH Cloud

pb avec array_push et tableau associatif multidimension

2 réponses
Avatar
nicoka
Bonjour,

j'ai un tableau associatif dans lequel un des champs est un autre
tableau associatif, je le delare de cette manière :
$tableau=array('datev'=>$racctime, 'acctypehome'=>$racctypehome,
$rtopicname=>array('idsujet'=>$rtopicid, 'article'=>$raccidart));

Plus loin dans mon code, je veux ajouter un autre champ de type
tableau associatif, j'ecris ceci :
$ajout=array_push ($tableau, $rtopicname=>array('idsujet'=>$rtopicid,
'article'=>$raccidart));
qui est ni plus ni moins qu'un copier-coller de la declaration, mise
dans un push.


Or lorsque je lance mon script, php me retourne une erreur sur le push
:
"Parse error: parse error, unexpected T_DOUBLE_ARROW" sur la ligne du
push.

Je ne comprends pas pourquoi cette ecriture fonctionne dans la
declaration, et ne fonctionne pas dans le push...

Une idée?

nicolas

2 réponses

Avatar
Sebastien
nicoka wrote:

Je ne comprends pas pourquoi cette ecriture fonctionne dans la
declaration, et ne fonctionne pas dans le push...



La construction « clef => valeur » n'est acceptée que dans array( ) et
foreach( ).
Au lieu de ton array_push( ) tu peux faire :

$tableau[$rtopicname] = array(...) ;

Avatar
nico
merci bien je vais essayer :)

Sebastien a écrit:
nicoka wrote:

Je ne comprends pas pourquoi cette ecriture fonctionne dans la
declaration, et ne fonctionne pas dans le push...



La construction « clef => valeur » n'est acceptée que dans array( ) et
foreach( ).
Au lieu de ton array_push( ) tu peux faire :

$tableau[$rtopicname] = array(...) ;