Bonjour à tous,
Je possède un tableau d'objets, et je souhaiterais les triers dans l'ordre croissant selon un des attributs que possède chaque objet... Comment s'y prendre ?
Merci, à bientôt,
Metallic-84s
Bonjour à tous,
Je possède un tableau d'objets, et je souhaiterais les triers dans l'ordre croissant selon un des attributs que possède chaque objet... Comment s'y prendre ?
Merci, à bientôt,
Metallic-84s
Salut,
Peux-tu développer un peu ? Du code ou un genre de truc comme ça.
Donc, en essayant d'expliquer le but de ma manipulation :
J'espère que j'ai été assez clair cette fois, pas évident à expliquer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 // Donc j'ai un type d'objet. class Objet { var $x; var $y; var $z; function Objet($x, $y, $z) { $this->x = $x $this->y = $y $this->z = $z } } // Par la suite, je crée un tableau d'objet : objets[0] = new Objet(1, 3, 4); objets[1] = new Objet(4, 3, 4); objets[2] = new Objet(2, 3, 3); objets[3] = new Objet(0, 3, 4); // Et je souhaiterais trier dans l'ordre croissant le tableau $objets selon l'attribut ($x, $y ou $z) que possède chaque objet // Exemple, en triant selon l'attribut $x, j'obtiendrais : objets[0] = new Objet(0, 3, 4); objets[1] = new Objet(2, 3, 3); objets[2] = new Objet(1, 3, 4); objets[3] = new Objet(4, 3, 4);
Bonne soirée,
Metallic-84s
Soit avec array_multisort, mais alors là bon courage, soit en donnant en indice de ton tableau $x ou $y en fonction du tri que tu souhaites faire.![]()
Va pas être facile.
tu peux utiliser la fonction uksort()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php function compare ($a, $b) { if ($a->x == $b->x) return 0; return ($a->x > $b->x) ? -1 : 1; } uksort ($objet, "compare"); ?>
Partager