ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> php-france
php-france
Re: [php-france] Trier un tableau selon plusieurs critères.
by David BOURIAUD other posts by this author
Jun 22 2007 7:35AM messages near this date
Re: [php-france] Trier un tableau selon plusieurs critères. | Re: [php-france] Trier un tableau selon plusieurs critères.
Le vendredi 22 juin 2007, David BOURIAUD a �crit�:
>  Bonjour,
>  me voici confront� � un probl�me que je n'avais jamais rencontr�
>  auparavant, que je sais r�soudre en sql, mais pas du tout en php....
>  Voici la probl�matique :
>  Je r�cup�re des informations dans une base de donn�es. Au moment de la
>  r�cup�ration, j'ajoute artificiellement une colonne � la ligne r�cup�r�e.
>  Le code ressemble un peu � �a :
> 
>  while ($rSet = ifx_fetch_row (($resId, (int)$indexRes))
>  {
>  	$tab[$indexTab] = $rSet;
>  	$tab[$indexTab]['plop'] = $valeur;
>  	$indexRes++;
>  	$indexTab++;
>  }
> 
>  Or, apr�s coup, je voudrais trier le tableau obtenu, $tab, selon plusieurs
>  colonnes.
>  En l'ocurence, chaque ligne de $tab ressemble �
>  col1 | col2 | col3 | col4 | col5 | plop
> 
>  Je veux trier ce foutu tableau $tab, selon les colonnes col1, col2 et col5.
>  Quelqu'un aurait une id�e du comment faire ?
>  Merci pour toute aide ou suggestion.


Bon, merci pour vos contributions, mais j'ai trouv� la solution tout seul... 
Et la fonction qu'il me fallait, c'�tait la fonction.... roulements de 
tambours........
sort (envoyez la musique des clowns).
En effet, si vous avez un tableau structur� comme celui que je d�cris 
pr�c�dement, si vous lui appliquez la fonction sort, il trie les lignes du 
tableau en faisant un tri sur chaque colonne.
Exemple simple :
$tab[0]['col1'] = 'B';
$tab[0]['col2'] = 'A';
$tab[1]['col1'] = 'A';
$tab[1]['col2'] = 'B';

si on fait un sort dessus, on aura la ligne 1 avant la ligne 0, car la 
premi�re colonne est avant. Bref, je ne sais pas si je suis clair, mais en 
tout cas, �a fonctionne comme �a, d'apr�s ce que j'ai pu en voir.


P.S. :
$tab[0] = ("B", "D", "E", "F");
$tab[1] = ("B", "D", "G", "F");
$tab[2] = ("B", "A", "E", "F");
$tab[3] = ("B", "A", "E", "Z");

sort ($tab);

$tab[0] = ("B", "A", "E", "F");
$tab[1] = ("B", "A", "E", "Z");
$tab[2] = ("B", "D", "E", "F");
$tab[3] = ("B", "D", "G", "F");

sera peut-�tre plus clair... 




En tout cas, plus clair que la doc ;-) !

Quoi qu'il en soit, merci pour votre contribution, car elle ouvre d'autres 
perspectives, pour d'autres cas !
Thread:
David BOURIAUD
Jean-Marie Fourcade
David BOURIAUD
Patrick
Benjamin APARICIO

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved