2009-10-19 22 views
0

我怎麼會這兩款產品由說排序 「ID:17值:###」如何排序JSON產品與PHP

{ 「ID」: 「16」, 「值」:「L-AOC000 「},{」 ID 「:」 17" , 「值」: 「6.00」},{ 「ID」: 「18」, 「值」: 「10.00」},{ 「ID」: 「19」,「值「:」7.52「},{」id「:」20「,」value「:」4.75「},{」id「:」21「,」value「:」3.50「}

{」id「 : 「16」, 「值」: 「L-AOC001」},{ 「ID」: 「17」, 「值」: 「7.00」},{ 「ID」: 「18」, 「值」: 「11.00」 }, 「ID」{ 「19」, 「值」: 「6.52」},{ 「ID」: 「20」, 「值」: 「5.75」},{ 「ID」: 「21」, 「值」 :「4.50」}

回答

2

首先,你想把Json轉換成一個php類型。

$ data = json_decode($ the_json_string);

然後你有什麼是真正的對象數組。

您可以使用usort()將其按屬性排序(http://au2.php.net/usort)。

好像你想通過編號來測試第一然後通過價值...

function sort_by_id_then_value($a, $b) 
{ 
    if ($a->id == $b->id) { 
     if ($a->value == $b->value) { 
      return 0; 
     return ($a->value < $b->value) ? -1 : 1; 
    } 
    return ($a->id < $b->id) ? -1 : 1; 
} 

usort($data, "sort_by_id_then_value");