array_push( ) et tableau associatif...

array_push( ) et tableau associatif... - PHP - Programmation

Marsh Posté le 01-10-2002 à 12:12:30    

lorsque j'essaye de faire un  
array_push($tableau,"truc" => $valeur);
 
j'ai le message :  
Parse error: parse error, unexpected T_DOUBLE_ARROW  
 
Est-ce que c parce que c impossible d'utiliser array_push avec un tableau associatif ou est-ce que c moi qui fait une erreur de syntaxe.
 
Merci

Reply

Marsh Posté le 01-10-2002 à 12:12:30   

Reply

Marsh Posté le 01-10-2002 à 12:26:49    

$tableau["truc"] = $valeur; devrait suffir ;)
 
Si la clé "truc" n'existe pas elle sera placée à la fin.

Reply

Marsh Posté le 01-10-2002 à 12:27:14    

voir les exemples de la doc sur php.net  
 
la syntaxe exacte serait  
array_push($tableau, array("clé"=>"valeur" ));
mais ça correspondrait à  
$tableau[]["clé"]="valeur";
 

Citation :


12-Feb-2002 06:02 Anonymous said:
 
array_push($myarray,array("mykey"=>"myvalue" ));
This will not return a syntax error.
 
But this is totally incorrect. It's equivalent to:
 
$myarray[count($myarray)] = array("mykey"=>"myvalue" ));  
 


---------------
...oups kernel error...
Reply

Marsh Posté le 01-10-2002 à 12:29:38    

merci beaucoup... je vais essayer

Reply

Marsh Posté le 01-10-2002 à 12:32:41    

une autre fonction qui pourrait te servir est  
array_merge($array, $array);
http://www.php.net/manual/en/function.array-merge.php
 
mais dans la plupart des cas la solution de gm_superstar est la meilleure ;)


---------------
...oups kernel error...
Reply

Marsh Posté le 03-10-2002 à 16:58:20    

Pendant un moment j'y est cru ...
Mais non array_merge n'est pas la fonction qui correspond
 
j'avais fait :
$tab_indice = array("truc1","truc2" );
$tab_valeur = array(valeur1,valeur2);
 
mais
 
array_merge($tab_indice, $tab_valeur);
 
renvoie un tableau de la forme:
 
Array
(
    [0] => "truc1"
    [1] => "truc2"
    [2] => valeur1
    [3] => valeur2
)
 
array_merge fait la concatenation des deux tableaux
 
Donc la possibilite de gm_superstar est adopté a l'unanimité
merci à tous les deux

Reply

Marsh Posté le 03-10-2002 à 17:01:51    

:lol:
 
tu l'utilises mal cette fonction merge_array.
$array1= array("key1"=>"val1", "key2"=>"val2" );
$array2= array("key3"=>"val3", "key4"=>"val4" );
$result= array_merge($array1, $array2);
 
 
la soluce de gm_superstar est la meilleure je le redis.
Mais ça dépend de ce dont tu as besoin.


---------------
...oups kernel error...
Reply

Sujets relatifs:

Leave a Replay

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