好吧,我的问题很复杂.
{
"books": [
{
"book": [
{
"Title": "Java How to Program",
"Author": "Deitel & Deitel",
"Edition": "2007"
}
]
},
{
"book": [
{
"Title": "Patterns of Enterprise Application Architecture",
"Author": "Martin Fowler",
"Edition": "2002"
}
]
},
{
"book": [
{
"Title": "Head First Design Patterns",
"Author": "Elisabeth Freeman",
"Edition": "2004"
}
]
},
{
"book": [
{
"Title": "Internet & World Wide Web: How to Program",
"Author": "Deitel & Deitel",
"Edition": "2007"
}
]
}
]
}
$file = file_get_contents('books.json');
$json = json_decode($file, true);
我如何按多个规则对数组进行排序?例如:
echo sort_my_array('Title', ASC, 'Author', DESC, $json);
我尝试了很多方法,但我认为我的错误是在我尝试使用array_multidimensional时.
有人可以向我解释如何创建这个吗?
提前致谢
解决方法:
试试这个
$file = file_get_contents('books.json');
$json = json_decode($file, true);
$json = array_map(function($a) { return $a['book'][0]; }, $json['books']);
foreach ($json as $key => $row) {
$title[$key] = $row['Title'];
$author[$key] = $row['Author'];
}
array_multisort($title, SORT_ASC, $author, SORT_DESC, $json);
echo "<pre>";
print_r($json);
echo "</pre>";
我已经尝试过它的工作了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。