2017-06-03 3 views
0

Je développe un nouveau site web, et j'ai une demande.Php inverse array ne fonctionne pas

tableau d'entrée:

Array ([1319] => ####,[1316] => ###) 

J'ai un tableau et je veux le Revese, après le revers du tableau serait comme ceci:

Sortie prévue:

Array ([1316] => ###,[1319] => ####) 
Mais quand j'utilise la fonction array_reverse, ça ne fonctionne pas pour moi, j'ai eu le

est tableau:

Array ([0] => ###,[1] => ####) 

Pourquoi cela est-il arrivé?

+0

Vous pouvez trier par clé avec ksort. –

Répondre

1

Pour conserver les clés, vous passez simplement le second paramètre à true dans array_reverse.

Try this code snippet here

$array=Array (1319 => "####",1316 => "###"); 
print_r(array_reverse($array,true)); 
+0

Merci, c'est le meilleur moyen! – Jack

1

vous pouvez essayer ceci:

$a = []; //your array 

$keys = array_keys($arr); 
$values = array_values($arr); 

$rv = array_reverse($values); 

$newArray = array_combine($keys, $rv); 
+0

Merci! ça marche pour moi. Acheter pouvez-vous m'expliquer pourquoi il ne fonctionne pas avec seulement la fonction array_reverse? – Jack

+0

Content de vous aider! @Jack accepte la réponse quand vous pouvez aider d'autres gars avec le même problème! –

-2

Je pense que parce que l'indice des tableaux sont démarrés de 0 à N, j'ai eu ce problème et je l'ai utilisé la chaîne au lieu d'entier
comme ceci:

$mArraty = new Array("_500"=>"balabala","1244"=>"test");