我正在尝试使用 对数组进行排序usort()
。但我的函数似乎不起作用。我想按partners_order
每个对象对其进行排序,即 $myJson[0] 和 $myJson 1分别
使用 Json 数组解码 $myJson = json_decode($jsonData);
PHP 排序函数如下所示。
usort($myJson, function($a, $b) {
return $a->partners->partners_order < $b->partners->partners_order ? -1 : 1;
});
由于本网站的限制,我不能在这里发布数组。因此我被迫使用第 3 方网站fiddle
https://jsfiddle.net/z8s18c21/
有什么帮助吗?
我认为如果您使用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>';
代码现在已经过测试,因为您提供了数据对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句