PHP ile JSON Ürünleri sıralama nasıl

2 Cevap php

nasıl ki bu iki ürün sıralamak istiyorum "id: 17 değeri: # # #"

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

{"id":"16","value":"L-AOC001"},{"id":"17","value":"7.00"},{"id":"18","value":"11.00"},{"id":"19","value":"6.52"},{"id":"20","value":"5.75"},{"id":"21","value":"4.50"}

2 Cevap

Sen json_decode() ile bir php dizi json nesne dönüştürmek. Oradan array sorting functions native to php herhangi birini kullanabilirsiniz.

Peki ilk, bir php türü içine Json conver isterdim.

$ Data = json_decode ($ the_json_string);

Sonra ne var gerçekten nesneleri bir dizidir.

Sen özelliği ile (http://au2.php.net/usort) dışarı sıralamak için usort () kullanabilirsiniz.

Değeriyle ilk, sonra id tarafından sınamak istediğiniz gibi görünüyor ...

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");