Je sais que des questions similaires à cela ont été posées, mais même en les regardant toutes, je n'arrive pas à faire fonctionner ça. Je pense que c'est un peu plus complexe que les autres exemples que je trouve. Je sais que quelqu'un va dire que c'est une question à répétition - mais j'ai essayé très fort de l'obtenir à partir des exemples que j'ai vus jusqu'à présent - désolé d'avance! Donc, étant donné ce tableau multidimensionnel $ results_display en PHP (var_dump ci-dessous), il y a 5 membres du sous-tableau "#results", et je veux trier (descendant) ces 5 par la valeur dans le "#changed" " chaîne.Tri d'un sous-tableau dans un tableau multidimensionnel en PHP
Est-ce que quelqu'un peut aider une fille qui s'est cognée la tête contre son bureau pendant quelques jours?
Merci beaucoup! Ce que j'ai essayé est ci-dessous le var_dump.
J'ai commenté la partie avec le titre pour essayer de faire fonctionner la première partie.
$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);
utilisez 'usort', et où sont les codes sur lesquels vous travaillez – Ghost
Et pour ajouter un autre pli à cela, je voudrais aussi trier par la chaîne #title (ascendant) dans le sous-groupe #result du tableau #results. Donc, d'abord trier par la date modifiée, mais si deux des résultats ont la même date modifiée, les trier par le titre. – Pamela
J'ai également essayé un uasort comme ceci: – Pamela