2014-09-25 131 views
0

我的PHP代碼:字符串鍵更改爲數字鍵?

<?php 
    $arr = array(
     'a' => array(
      'name' => 'aaa', 
      'pos' => 2 
     ), 
     'b' => array(
      'name' => 'bbb', 
      'pos' => 1 
     ) 
    ); 
    var_dump($arr); 
    function func_sort($a, $b) { 
     return intval($a['pos']) - intval($b['pos']); 
    } 
    usort($arr, 'func_sort'); 
    var_dump($arr); 
?> 

結果是:

array(2) { 
    ["a"]=> 
    array(2) { 
    ["name"]=> 
    string(3) "aaa" 
    ["pos"]=> 
    int(2) 
    } 
    ["b"]=> 
    array(2) { 
    ["name"]=> 
    string(3) "bbb" 
    ["pos"]=> 
    int(1) 
    } 
} 


array(2) { 
    [0]=> 
    array(2) { 
    ["name"]=> 
    string(3) "bbb" 
    ["pos"]=> 
    int(1) 
    } 
    [1]=> 
    array(2) { 
    ["name"]=> 
    string(3) "aaa" 
    ["pos"]=> 
    int(2) 
    } 
} 

usrot後,以數字鍵字符串鍵的變化,誰可以告訴我爲什麼嗎?以及如何排序數組(使用字符串鍵)但保留字符串鍵?

回答

2

usort()這是否:它的功能的記錄的行爲,見第二Note文檔頁面

上,如果你需要維持關鍵關聯,使用uasort()