Я знаю, что подобные вопросы были заданы, но даже глядя на всех из них, я не могу заставить это работать. Я думаю, что это немного сложнее, чем другие примеры, которые я нахожу. Я знаю, что кто-то собирается сказать, что это повторяющийся вопрос, - но я очень старался получить его из примеров, которые я видел до сих пор, - извините заранее!Сортировка подматрицы в многомерном массиве в PHP
Так что, учитывая этот многомерный массив $ results_display в PHP (var_dump ниже), есть 5 членов подматрицы «#results», и я хочу сортировать (спускать) те 5 по значению в «#changed "строка.
Может кто-то , пожалуйста, помогите девушке, кто стучал головой о ее стол на пару дней?
Большое вам спасибо!
То, что я пробовал, находится ниже 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);
используйте 'usort', и где находятся те коды, которые вы работаете над – Ghost
И чтобы добавить еще одну морщину к этому, я также хотел бы отсортировать по строке #title (по возрастанию) в подэлементе #result массива #results. Итак, сначала сортируйте по дате изменения, но если два из результатов имеют ту же самую измененную дату, отсортируйте их по названию. – Pamela
Я также пробовал использовать uasort следующим образом: – Pamela