Tri d'un tableau d'objet

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tri d'un tableau d'objet

Re: Tri d'un tableau d'objet

par moogli » 27 sept. 2011, 23:38

Peux être peux tu adapter cette contribution à ton problème pour réaliser les tris comme tu le souhaite ?

parce que coté trie, hormis créer une fonction de classement perso je ne vois pas

@+

Re: Tri d'un tableau d'objet

par PowOx » 27 sept. 2011, 23:15

Bonsoir,
Merci de prendre un peu de temps pour moi ;)

Ben à la base c'est un XML de mymovies, ce n'est pas classé par ordre alpha mais chrono, le xml c'est du genre :

<films>
<film>
<title></title>
<year></year>
</film>
</films>

et donc, je récup chaque film, j'ai fait une occurence, et je veux ensuite pouvoir les afficher dans l'ordre


Jean-Michel

Re: Tri d'un tableau d'objet

par AB » 27 sept. 2011, 17:38

Oui bon le plus simple c'est de nous donner un petit extrait du tableau que tu as et surtout un exemple du résultat que tu souhaites.

Re: Tri d'un tableau d'objet

par PowOx » 27 sept. 2011, 00:44

Oublie le début du message, pas très clair en effet...
Je souhaite déjà pouvoir trier le tableau $arrayObject, ensuite j'essaierai de me débrouiller un peu.

le var_dump donne ça avant trie :

Code : Tout sélectionner

array 0 => object(SimpleXMLElement)[6] string '127 Heures' (length=10) 1 => object(SimpleXMLElement)[15] string '2 Fast 2 Furious' (length=16) 2 => object(SimpleXMLElement)[5] string '2012' (length=4) 3 => object(SimpleXMLElement)[4] string '300' (length=3) 4 => object(SimpleXMLElement)[14] string 'A La Recherche du Bonheur' (length=25) 5 => object(SimpleXMLElement)[7] string 'Alice au pays des merveilles' (length=28) 6 => object(SimpleXMLElement)[16] string 'Alien' (length=5) 7 => object(SimpleXMLElement)[11] string 'Alien vs Predator' (length=17) 8 => object(SimpleXMLElement)[13] string 'Le Fabuleux Destin D'Amelie Poulain' (length=35) 9 => object(SimpleXMLElement)[19] string 'Armageddon' (length=10) 10 => object(SimpleXMLElement)[20] string 'Astérix aux jeux olympiques' (length=28)
et après tri :

Code : Tout sélectionner

array 0 => object(SimpleXMLElement)[265] string 'Star Wars II: L'Attaque Des Clones' (length=34) 1 => object(SimpleXMLElement)[197] string 'Ocean's Eleven' (length=14) 2 => object(SimpleXMLElement)[15] string '2 Fast 2 Furious' (length=16) 3 => object(SimpleXMLElement)[328] string 'World Trade Center' (length=18) 4 => object(SimpleXMLElement)[5] string '2012' (length=4) 5 => object(SimpleXMLElement)[229] string 'Resident Evil : Extinction' (length=26) 6 => object(SimpleXMLElement)[4] string '300' (length=3) 7 => object(SimpleXMLElement)[297] string 'The Rite' (length=8) 8 => object(SimpleXMLElement)[14] string 'A La Recherche du Bonheur' (length=25) 9 => object(SimpleXMLElement)[185] string 'Matrix reloaded' (length=15)
voici le code.

Code : Tout sélectionner

var_dump( $arrayObject); for($i=0;$i<$n;$i++) { // echo $i . ": -" .$arrayObject[$i]."-<br/>"; } sort($arrayObject); echo "<hr>"; var_dump( $arrayObject); for($i=0;$i<$n;$i++) { // echo $i . ": -" .$arrayObject[$i]."-<br/>"; }

Re: Tri d'un tableau d'objet

par moogli » 27 sept. 2011, 00:33

salut,

c'est pas du tout claire ton affaire.

c'est quoi exactement ton soucis, qu'est ce que tu veux au final ?
pour nous aider que donne un var_dump( $arrayObject); ?

@+

Re: Tri d'un tableau d'objet

par PowOx » 27 sept. 2011, 00:16

D'ailleur, ce n'est pas vraiment un tableau d'objet, mais un tableau classique, puisque dans ce tableau j'y met le nom d'un titre qui provient de l'objet et non l'objet lui même :

Code : Tout sélectionner

$arrayObject[]=$currentMovie->getTitle();

Tri d'un tableau d'objet

par PowOx » 27 sept. 2011, 00:14

Bonjour,

Je cherche à faire une opération très simple, sans y parvenir.
J'ai un tableau d'objet que je souhaite trier. Bien sur, lorsque je trie mon tableau avec un "sort", "asort" ou autre, ça ne fonctionne pas (c'est surement normal), mais du coup, je ne sais pas comment les trier.

voici par exemple, dans quel ordre sont lues les fichies depuis mon xml :

Code : Tout sélectionner

0: -127 Heures- 1: -2 Fast 2 Furious- 2: -2012- 3: -300- 4: -A la recherche du bonheur- 5: -Alice au Pays des Merveilles- 6: -Alien- 7: -Alien vs Predator- 8: -Le Fabuleux Destin D'Amelie Poulain- 9: -Armageddon- 10: -Astérix aux jeux olympiques-
et voici ensuite :

Code : Tout sélectionner

0: -Star Wars II: L'Attaque Des Clones- 1: -Ocean's Eleven- 2: -2 Fast 2 Furious- 3: -World Trade Center- 4: -2012- 5: -Resident Evil : Extinction- 6: -300- 7: -The Rite- 8: -A la recherche du bonheur- 9: -Matrix reloaded- 10: -Alice au Pays des Merveilles- 11: -Prêtre-
et voici le code :

Code : Tout sélectionner

for($i=0;$i<$n;$i++) { echo $i . ": -" .$arrayObject[$i]."-<br/>"; } sort($arrayObject); echo "<hr>"; for($i=0;$i<$n;$i++) { echo $i . ": -" .$arrayObject[$i]."-<br/>"; }
Comment faire donc, pour trier mon tableau d'objet sur une variable de chaque objet plutôt que dans un ordre chaotique ?

Cordialement,
Jean-Michel