Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2011, 11h37   #1
Invité régulier
 
Inscription : février 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 31
Points : 6
Points : 6
Par défaut [Tableaux] Tri d'un tableau multi-dimensionnel sur plusieurs de ses valeurs

Bonjour,

Citation:
Envoyé par Korko Fain Voir le message
Code php :
1
2
3
4
5
6
7
 
function compare($a, $b)
{
    return strcmp($a['valeur'], $b['valeur']);
}
 
usort($array, 'compare');

Sa répond à ton besoin ?
Super cette fonction

Moi j'ai un tableau sous cette forme....

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Array
(
    [0] => Array
        (
            [sn;normalize] => NOM
            [givenName] => Prénom
 
        )
 
    [1] => Array
        (
            [sn;normalize] => NOM1
            [givenName] => Prénom1
        )
 
    [2] => Array
        (
            [sn;normalize] => NOM2
            [givenName] => Prénom2
         )
Est-il possible de trier par nom puis par prénom.

L'extraction vient d'un ldap je ne peux donc pas trier dans ma requête (du moins je ne sais pas faire)

Merci D'avance
timmy1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 11h45   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Il suffit de comparer les noms et seulement s'ils sont égaux (strcmp == 0) de comparer les prénoms :
Code :
1
2
3
4
5
6
7
8
9
10
11
usort(
    $array,
    function ($a, $b) {
        $nomcmp = strcmp($a['sn;normalize'], $b['sn;normalize']);
        if (!$nomcmp) {
            return strcmp($a['givenName'], $b['givenName']);
        } else {
            return $nomcmp;
        }
    }
);
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 13h12   #3
Invité régulier
 
Inscription : février 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 31
Points : 6
Points : 6
Merci beaucoup...

Trop fort!
timmy1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h48.


 
 
 
 
Partenaires

Hébergement Web