我知道有类似的问题已被问到,但即使看了所有这些问题,我似乎无法让它发挥作用。我认为它比我发现的其他例子稍微复杂一点。我知道有人会说这是一个重复的问题 - 但我已经很难从我迄今为止见过的例子中得到它 - 所以提前抱歉!
所以给定PHP中的这个多维数组$ results_display(下面的var_dump),子数组有5个成员"#results",我想按照值排序(降序)那些5 "#已改变"字符串。
有人可以请帮助一个女孩在几天之内将她的头撞在桌子上吗?
非常感谢!!!
我尝试的是在var_dump下面。我评论了标题的部分,试着让第一部分工作。
$results_display =
array(8) {
["#theme"]=> string(18) "hs_filters_results"
["#title"]=> string(18) "On-Demand Webinars"
["#body"]=> NULL
["#results"]=> array(5) {
[0]=> array(3) {
["#changed"]=> string(10) "1403279484"
["#theme"]=> string(17) "hs_filters_result"
["#result"]=> array(25) {
["#nid"]=> string(4) "2057"
["#node_type"]=> array(2) {
["machine_name"]=> string(7) "webinar"
["name"]=> string(7) "Webinar" }
["#title"]=> string(61) "7 Critical Reasons to Automate Handling of IBM i Spool Files "
["#brand_nid"]=> string(2) "29"
["#brand_machine_name"]=> string(5) "brand"
... }
}
...
}
// Obtain a list of columns for the results array
foreach ($results_display as $key => $row) {
$changed[$key] = $row['changed'];
//$title[$key] = $row['title'];
}
// Sort the data with date changed descending, title ascending
// Add $results_display as the last parameter, to sort by the common key
//array_multisort($changed, SORT_DESC, $title, SORT_ASC, $results_display);
array_multisort($changed, SORT_DESC, $results_display);
答案 0 :(得分:0)
usort($results_display['results'], function ($a, $b) {
return $a['changed'] - $b['changed'];
});
这应该让你开始。有关更多可能的排序选项,请参阅https://stackoverflow.com/a/17364128/476。