IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Classement et trie d'un arrayobject


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Points : 20
    Points
    20
    Par défaut Classement et trie d'un arrayobject
    Tout d'abord bonjour tout le monde!

    Je vais vous expliquer point par point, tout d'abord j'ai une fonction qui ajoute des éléments dans un arrayobject
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    /* ajoute une activity */   
                    public function ajouteUneActivity($idAct,$dateCreation,$unTicketId,$unEmetteur,$unContenu,$status,$pj){
                     $this->lesActivity[$idAct] = new Activity($idAct,$dateCreation,$unTicketId,$unEmetteur,$unContenu,$status,$pj);
                     $this->setDerniereAct($idAct);
    		}
    et j'ai une autre méthode toute simple qui permet de récupérer la collection entière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    /* retourne toutes les activity */   
                    public function getLesActivity(){
                        $tableauAct= $this->lesActivity;
                        return $tableauAct;
                    }
    ainsi qu'une autre pour ne récupérer que la dernière qui à était posté. Car dans le développement que je fais une activity est ce qu'un commentaire est à un site. La dernière activity est la plus importante et ensuite on affiche les autres.

    Ce que je voudrais faire c'est classer ma méthode getLesActivity() par clé (idact) de manière décroissante et ne pas afficher la dernière activity, car elle est déjà affiché par le biai d'une autre méthode!

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 34
    Points : 20
    Points
    20
    Par défaut
    Je viens de me demander si il ne serait pas plus simple d'insérer chaque nouvelle activity en début de tableau, comme ça je n'aurai plus qu'à supprimer l'index 0 ?

    J'ai bien essayé array_shift, mais ça n'a pas l'air de marcher sur un arrayobject

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    array_* ça marche sur des tableaux classiques.

    Remarque, tu peux toujours caster:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $a = new ArrayObject(array('a'=>1,'b'=>2,'c'=>3));
    $b = (array)$a;
     
    var_dump( array_shift($b) ); // int 1
    mais c'est la solution brico-marché.

    La bonne solution c'est ArrayObject::uasort.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/09/2009, 09h11
  2. Réponses: 8
    Dernier message: 30/05/2007, 21h32
  3. est il possible de faire un trie sur un paramètre donné
    Par chtiboss dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 17/03/2004, 11h51
  4. Trie de fichiers
    Par olivierlsf dans le forum ASP
    Réponses: 2
    Dernier message: 16/03/2004, 13h41
  5. Trie ascendant d'un champ version.
    Par Pari dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2004, 10h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo