Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 03/01/2011, 23h43   #1
Membre habitué
 
Inscription : octobre 2005
Messages : 640
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 640
Points : 140
Points : 140
Par défaut Tri sur 2 colonnes

Bonjour,

J'ai ce genre de tableau :
Code :
1
2
3
4
5
6
7
8
<?php
$a = array();
$a[0] = array("nom"=>"TOTO", "couleur"=>"vert");
$a[1] = array("nom"=>"TOTO", "couleur"=>"bleu");
$a[2] = array("nom"=>"ZAZA", "couleur"=>"rouge");
$a[3] = array("nom"=>"TOTO", "couleur"=>"jaune");
print_r($a);
?>
J'aimerais obtenir un truc du genre :
Citation:
TOTO bleu
TOTO jaune
TOTO vert
ZAZA rouge
J'ai essayé avec usort() mais je n'arrive pas à le faire sur la 2ème colonne...

Merci d'avance.
Tchupacabra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 23h57   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il faut utiliser array_multisort()
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 22h12   #3
Membre habitué
 
Inscription : octobre 2005
Messages : 640
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 640
Points : 140
Points : 140
impec !

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
header("Content-type: text/plain; charset=UTF-8");
$a = array();
$a[0] = array("nom"=>"TOTO", "couleur"=>"vert", "id"=>1);
$a[1] = array("nom"=>"TOTO", "couleur"=>"bleu", "id"=>2);
$a[2] = array("nom"=>"ZAZA", "couleur"=>"rouge", "id"=>3);
$a[3] = array("nom"=>"TOTO", "couleur"=>"jaune", "id"=>4);
print_r($a);
 
foreach ($a as $key => $row) {
    $nom[$key]  = $row['nom'];
    $couleur[$key] = $row['couleur'];
}
 
// Trie les données par nom croissant, couleur croissant
// Ajoute $a en tant que dernier paramètre, pour trier par la clé commune
array_multisort($nom, SORT_ASC, $couleur, SORT_ASC, $a);
print_r($a);
?>
merci sabotage !
Tchupacabra 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 15h21.


 
 
 
 
Partenaires

Hébergement Web