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>';
データオブジェクトを提供したため、コードがテストされました。
あなたはeval.inをPHPに使うことができます、jsfiddleはPHPでないJavascriptテストです – C2486
'$ a-> partners-> partners_order'の' partners'ビットは配列です。キーを使用する必要があります。あなたの質問に答えることはできません。ソートの仕方がわからないからです。 –
@KIKOSoftware、Qが更新されました。 $ myJson [0]と$ myJson [1]を別々に、それぞれのオブジェクトのpartners_orderでソートしたい –