2011-09-22 16 views
1

我有此数组:我不知道如何“之类的”阵列

array(2) { 
    [1]=> 
    array(4) { 
    ["name"]=> 
    string(14) "Les Contenants" 
    ["ordre"]=> 
    string(1) "3" 
    [9]=> 
    array(1) { 
     ["name"]=> 
     string(20) "Corbeilles unitaires" 
    } 
    [10]=> 
    array(1) { 
     ["name"]=> 
     string(6) "Mannes" 
    } 
    } 
    [6]=> 
    array(3) { 
    ["name"]=> 
    string(7) "L'utile" 
    ["ordre"]=> 
    string(1) "1" 
    [133]=> 
    array(3) { 
     ["name"]=> 
     string(7) "Paniers" 
     [192]=> 
     array(1) { 
     ["name"]=> 
     string(13) "à provisions" 
     } 
     [193]=> 
     array(2) { 
     ["name"]=> 
     string(13) "anses mobiles" 
     [201]=> 
     array(1) { 
      ["name"]=> 
      string(19) "non doublés tissus" 
     } 
     } 
    } 
    } 
} 

我需要排序这个关键这个数组:数组[$ i] [“公共秩序”]递增的顺序上。

结果必然是:

array(2) { 
    [6]=> 
    array(3) { 
    ["name"]=> 
    string(7) "L'utile" 
    ["ordre"]=> 
    string(1) "1" 
    [133]=> 
    array(3) { 
     ["name"]=> 
     string(7) "Paniers" 
     [192]=> 
     array(1) { 
     ["name"]=> 
     string(13) "à provisions" 
     } 
     [193]=> 
     array(2) { 
     ["name"]=> 
     string(13) "anses mobiles" 
     [201]=> 
     array(1) { 
      ["name"]=> 
      string(19) "non doublés tissus" 
     } 
     } 
    } 
    } 
    [1]=> 
    array(4) { 
    ["name"]=> 
    string(14) "Les Contenants" 
    ["ordre"]=> 
    string(1) "3" 
    [9]=> 
    array(1) { 
     ["name"]=> 
     string(20) "Corbeilles unitaires" 
    } 
    [10]=> 
    array(1) { 
     ["name"]=> 
     string(6) "Mannes" 
    } 
    } 
} 

你有一个想法,办呢?

+2

http://php.net/ usort会让你开始。 –

+0

[php.net/array_multisort](http://us.php.net/manual/en/function.array-multisort.php)看起来好像也能在这里工作。 –

回答

3
usort($array,function($a,$b) {return $a['ordre']-$b['ordre'];}); 

或者,如果您的PHP版本不支持的λ-功能:

usort($array,create_function('$a,$b','return $a["ordre"]-$b["ordre"];')); 
相关问题