我认为这可能会工作,如果你用foreach
循环你的对象。
$myJson = '[
{
"title":"1st Inning",
"inning_order":0,
"partners":[
{"partners_order":3,"partner_1":{"id":1927312,"runs":31},"partner_2":{"id":1462508,"runs":32}},
{"partners_order":1,"partner_1":{"id":1927311,"runs":11},"partner_2":{"id":1462508,"runs":12}},
{"partners_order":2,"partner_1":{"id":1927311,"runs":21},"partner_2":{"id":1462507,"runs":22}}
]
},
{
"title":"2nd Inning",
"inning_order":1,
"partners":[
{"partners_order":2,"partner_1":{"id":927312,"runs":21},"partner_2":{"id":462508,"runs":22}},
{"partners_order":1,"partner_1":{"id":927311,"runs":11},"partner_2":{"id":462508,"runs":21}},
{"partners_order":3,"partner_1":{"id":927311,"runs":31},"partner_2":{"id":462507,"runs":32}}
]
}
]';
$read_json = json_decode($myJson);
foreach ($read_json as $myJson1) {
usort($myJson1->partners,function($a, $b) {
return $a->partners_order < $b->partners_order ? -1 : 1;
});
}
echo '<pre>';
print_r($read_json);
echo '</pre>';
由于您提供了数据对象,因此代码现在已经过测试。
您可以使用PHP的eval.in,jsfiddle是用于JavaScript测试而不是php – C2486
在'$ a-> partners-> partners_order'内,'partners'位是一个数组。你必须使用一个密钥。我们无法回答您的问题,因为不清楚应该如何进行分类。 –
@KIKOSoftware,Q已更新。我想按每个对象的'partners_order'对它进行排序,即$ myJson [0],然后分别为$ myJson [1] –