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 :

Souci de compréhension de usort


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut Souci de compréhension de usort
    bonjour

    j'ai un souci de compréhension de usort

    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
     
    function cmp($a, $b) {
    echo $a.'-'.$b.'<br>';
    if (strlen($a) < strlen($b)) {
    return -1 ;
    } elseif (strlen($a) == strlen($b)) {
    return 0 ;
    } else {
    return 1 ;
    }
    }
    $fruits[0] = 'a';
    $fruits[1] = 'b';
    $fruits[2] = 'c';
    $fruits[3] = 'e';
    $fruits[4] = 'f';
    usort($fruits, 'cmp');
    foreach($fruits as $cle => $valeur) {
    echo "$valeur, ";
    }
    ce code affiche :

    c-b
    f-c
    c-a
    e-c
    f-e
    b-a
    f, e, c, b, a,

    Je comprend pas pourquoi la comparaison commence avec c-b ?

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    J'ai pas trop approfondi la chose mais en regardant ton exemple,
    je pense que usort utilise le tri dichotomique comme référence.

    Il y a une certaine symétrie dans les comparaisons

  3. #3
    Membre confirmé
    Avatar de Jcpan
    Inscrit en
    Août 2008
    Messages
    542
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 542
    Points : 475
    Points
    475
    Par défaut
    càd son propre algorithme ? il faut que je comprenne ce dernier pour que je puisse écrire une certaine fonction non ?

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Oui, c son algo de base pour le tri ....

    Maintenant c à toi de faire la fonction de comparaison suivant tes besoins en sachant que tu dois toujours faire une fonction de comparaisons renvoyant -1, 0, 1

    Regardes dans le manuel php, tu as d'autres exemples.

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    En fait, ce que toi tu écris, c'est comment déterminer l'ordre entre deux éléments. Ensuite, usort utilise cette fonction pour trier les éléments de ton tableau les uns par rapport aux autres. Comment il fait exactement, personnellement je m'en suis jamais vraiment préoccupée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-97] Filtre avec VBA : Des Soucis de compréhension
    Par Kalimera18 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/05/2009, 20h51
  2. Souci de compréhension du résultat
    Par Eclipse39 dans le forum Débuter
    Réponses: 2
    Dernier message: 15/03/2009, 23h58
  3. Souci de compréhension d'organisation
    Par ldv dans le forum Zend Framework
    Réponses: 2
    Dernier message: 09/10/2008, 09h51
  4. [JTable][RowFilter] Souci de compréhension
    Par mavina dans le forum Composants
    Réponses: 1
    Dernier message: 11/09/2008, 10h33
  5. Petit soucis de compréhension
    Par AlexB59 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/10/2005, 10h18

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