2010-11-02 16 views
3

這是我的數組:PHP數組ASORT問題

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

當我這樣做:

asort($myarr); 

$ myArr,該變:

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

這不是它是如何工作的,對?值應該被排序並保持鍵值,反之亦然 - 就像ksort一樣。問題是什麼?

請幫我一把。

感謝

+0

作品爲我廣告 – Gordon 2010-11-02 11:44:11

+0

我認爲你不給正確的代碼,nsted工作僞代碼。你在服務器上運行過這些嗎? – nerkn 2010-11-02 15:52:09

回答

4

工程罰款對我說:http://codepad.org/o6pZ8ess

結果:

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

+1將介紹給我的鍵盤! :) – 2010-11-02 11:44:01

+0

相當有限(無法打開/寫入文件和一些功能缺失的安全性),但很適合這樣的小測試;) – Shikiryu 2010-11-02 11:46:42

+0

謝謝,鍵盤有幫助 – Prashant 2010-11-02 12:20:45

3

工作正常,你嘗試:

asort($myarr, SORT_NUMERIC); 
0

我認爲這是不可能的並且接受的答案是不正確的。我不相信你可以有非數字順序的整數鍵。