Tri par type de fichier / extension

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 146 fois - Téléchargée 28 fois

Contenu du snippet

Fonction pour trier des noms de fichiers par type (et alphabétiquement au sein d'un type).

Concrètement,

array('3.jpg', '1.bmp', '7.dot', '5.dot')

devient

array('1.bmp', '5.dot', '7.dot', '3.jpg')

Source / Exemple :


<?php

function cmp($ar1, $ar2){

	$ar1 = array(strtoupper(str_replace(strrchr($ar1, '.'), '', $ar1)), strtoupper(strrchr($ar1, '.')));	//on scinde le nom de fichier et l'extension
	$ar2 = array(strtoupper(str_replace(strrchr($ar2, '.'), '', $ar2)), strtoupper(strrchr($ar2, '.')));

	if($ar1[1] > $ar2[1]){
		return 1;
	}
	elseif($ar1[1] === $ar2[1]){
		strcmp($ar1[0], $ar2[0]);
	}
	else {
		return -1;
	}
}

function tri($array){

	usort($array, 'cmp');
	return $array;
}

//exemple d'utilisation :

$fichier = array('3.jpg', '1.bmp', '7.dot', '5.dot');
$fichier = tri($fichier);
print_r($fichier);

?>

Conclusion :


C'est tout bête mais je n'ai pas trouvé ce code sur le site quand je l'ai cherché, alors...

A voir également

Ajouter un commentaire

Commentaires

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
je te parle de nos fonctions respectives, ça changera rien que le tableau soit petit ou grand, mais si tu veux on peut essayer :-)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
38
Anthomicro, ça dépend de ton algo...
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Bof j'ai testé sur un petit tableau, je pense pas que ça change grand chose si le tableau est grand, au contraire même.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
38
vous comparez des choses sans même voir les fonctions en C...

si ça se trouve, antho est meilleur sur un petit tableau et Evangun sur un grand, ou antho sur un tableau rangé de façon aléatoire, et Evangun sur un tableau quasiment trié [...]
Bref, faudrait regarder leur algorithme de tri pour pouvoir dire exactement lequel est le meilleur, et dans quel cas il l'est...
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
OK :)
Pour conclure la petite histoire, même si l'ordre des extensions n'est pas alphabétique dans ton script, au final tu fais en moyenne du 0.017 contre 0.022 pour mon script.
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.