2010-11-02 4 views
3

c'est mon tableau:tableau php problème asort

$myarr = array(
       4 => 3, 
       2 => 9, 
       7 => 8, 
       1 => 1 
      ); 

quand je fais:

asort($myarr); 

myarr $ devient:

array( 
     1 => 1, 
     2 => 9, 
     4 => 3, 
     7 => 8 
    ); 

Ce n'est pas la façon dont il est censé fonctionner ,droite? les valeurs devraient être triées et les clés maintenues, tandis que l'inverse se produit - tout comme ksort. Quel peut être le problème?

S'il vous plaît aidez-moi.

Merci

+0

fonctionne comme annoncé pour moi – Gordon

+0

Je pense que vous ne donnez pas les bons codes, pseudo code de travail nsted. Avez-vous exécuté ceux-ci dans votre serveur? – nerkn

Répondre

4

fonctionne très bien pour moi: http://codepad.org/o6pZ8ess

Résultat:

array(4) { 
    [1]=> 
    int(1) 
    [4]=> 
    int(3) 
    [7]=> 
    int(8) 
    [2]=> 
    int(9) 
} 
+0

+1 pour me présenter au codepad! :) –

+0

Assez limité (ne peut pas ouvrir/écrire le fichier et certaines fonctions sont manquantes pour la sécurité), mais fonctionne bien pour un petit test comme ceux-ci;) – Shikiryu

+0

merci, codepad a été utile – Prashant

3

fonctionne bien pour moi, avez-vous essayé:

asort($myarr, SORT_NUMERIC); 
0

Je crois que ce n'est pas possible et la réponse acceptée est incorrecte. Je ne crois pas que vous pouvez avoir des clés entières dans un ordre non numérique.