2013-02-01 74 views
0

我有一个数组,当我运行print_r($array)我得到:排序数组:降arsort返回1

Array 
(
    [XS] => 110 
    [S] => 171 
    [M] => 172 
    [L] => 171 
    [XL] => 171 
    [2X] => 172 
    [3X] => 154 
    [4X] => 139 
    [5X] => 47 
    [6X] => 32 
    [OSFA] => 12 
    [FITTED S-M] => 12 
    [FITTED L-XL] => 12 
    [ADJ] => 52 
    [YXS] => 15 
    [YSM] => 20 
    [YMD] => 20 
    [YLG] => 20 
    [YXL] => 17 
    [TLG] => 1 
    [TXL] => 1 
    [T2X] => 1 
    [T3X] => 3 
    [S-M FLEX] => 3 
    [M-L FLEX] => 3 
    [L-XL FLEX] => 3 
    [CHILD STRETCH] => 1 
    [S/M] => 1 
) 

我想对它进行排序下降,但arsort回报1.我可以分拣出循环,但我想要最好的解决方案。任何建议?

+5

是的,'arsort'返回1,因为它是一个变异函数。在'arsort'之后,你的'$ array'已经被排序。 [文献](http://www.php.net/manual/en/function.arsort.php)。 – Passerby

+0

谢谢,我以为它返回一个数组 –

+0

[数组[PHP排序()上可能的重复产生错误的结果](https://stackoverflow.com/questions/7517243/php-sort-on-array-produces-wrong-result ) – mickmackusa

回答

1

使用arsort($icon,SORT_NUMERIC); 你可以把数据排序为数字把你的数据放在$图标上

+0

它删除了我不想要的那些键 –

+1

使用的是arsort而不是 – rohitarora

+0

是的,但是我做了$ array = arsort($ array)这是我的错误 –