如何通过说“id:17 value:###”
对这两种产品进行排序{ “ID”: “16”, “值”: “L-AOC000”},{ “ID”: “17”, “值”: “6.00”},{ “ID”: “18”, “值”: “10.00”},{ “ID”: “19”, “值”: “7.52”},{ “ID”: “20”, “值”: “4.75”},{ “ID”: “21”, “值”: “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”}
答案 0 :(得分:5)
您可以使用json_decode()将json对象转换为php数组。从那里,您可以使用任何array sorting functions native to php。
答案 1 :(得分:2)
首先,你想把Json转换为php类型。
$ data = json_decode($ the_json_string);
然后你拥有的是一个对象数组。
您可以使用 usort ()按属性对其进行排序(http://au2.php.net/usort)。
好像你想首先通过id测试然后按值测试......
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");