2013-06-28 142 views
-1

我有一個由對象組成的數組。根據對象屬性對對象數組排序

[ 
    { 
     "name" => "First", 
     "order" => 5 
    }, 
    { 
     "name" => "Second", 
     "order" => 3 
    }, 
    { 
     "name" => "Third", 
     "order" => 9 
] 

如何通過升序「order」值來訂購?

我應該得到:

[ 
    { 
     "name" => "Second", 
     "order" => 3 
    }, 
    { 
     "name" => "First", 
     "order" => 5 
    }, 
    { 
     "name" => "Third", 
     "order" => 9 
]; 
+0

[按值排序多維數組(2)](http://stackoverflow.com/questions/2699086/sort-multidimensional-array-by-value-2) – deceze

+1

請參閱[參考:所有基本方法在PHP中對數組進行排序](http://stackoverflow.com/q/17364127/476) – deceze

回答

2

您應該能夠使用PHP usort()功能像這樣的數組:

usort($array, function($a, $b){return $a["order"]-$b["order"];}); 

或對象:

usort($array, function($a, $b){return $a->order-$b->order;}); 

這裏的PHP參考:usort()

+0

「不能使用類型爲stdClass的對象作爲數組」 – Lukmo

+0

@Ping - 我添加了一個額外的例子:相同的想法,只是稍微不同的語法對象。 – 2013-06-28 10:12:35

+0

謝謝,它的工作原理!這幫助我瞭解瞭如何排序的工作。 – Lukmo

相關問題