Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Trier un tableau indexé [ Archives / Débutants ] (kitiop)

jeudi 21 octobre 2004 à 11:28:29 | Trier un tableau indexé

kitiop

Bonjour à tous,

J'ai une chaîne composée de plusieurs mots que je transforme en un tableau avec :
$mots=explode(" ",$mots);

j'afficher ce tableau avec :
for ($index=0;$index<count($mots);$index++)
{
echo $mots[$index]."<br>";
}

Ce tableau comporte des doublons voire plus, que je souhaite supprimer. Pour les supprimer, je pense faire une comparaison. Pour la réaliser simplement, je veux d'abord trier mon tableau.

Mon problème vient du fait que les fonctions array_multisort et sort ne me renvoient rien (ou alors, je ne sais pas comment les récupérer !).
Je trie avec :
$mots=array_multisort($mots,SORT_ASC);
ou
$mots=sort($mots);
Pour récupérer le résultat, j'utilise la méthode avec for indiquée plus haut.
Résultat : rien.
Si quelqu'un peut m'aider ;)
Merci

vendredi 22 octobre 2004 à 19:47:10 | Re : Trier un tableau indexé

rekam

Salut

Pkoi utiliser array_multisort ? A priori, ton tableau $mots ne contient qu'une seule dimension. Utilise plutot array_unique(), ça devrait le faire ;) . Ensuite, tu utilises sort() pour arranger le tout comme tu veux.

dimanche 24 octobre 2004 à 00:54:41 | Re : Trier un tableau indexé

Magidev

Membre Club
Tu peux utiliser un algo du genre SimpleSort ou BubbleSort

BubbleSort :

Le principe est simple : c'est de la comparaison élément par élément en réduisant à chaque fois l'intervalle de tri.
C'est à dire qu'au début on parcours tout le tableau, on déplace l'élément le plus grand vers la droite (ou le plus petit en fonction du type de tri), si il y a une inversion (le tableau n'est donc pas trié), sinon, on peut s'arrêter

$k = 4;
$permut = $k;
do {
$k = $permut - 1;
for ($j=1; $j<=$k; $j++) {
if ($topDest[$j] > $topDest[$j+1])
{
$tempValue = $topDest[$j];
$topDest[$j] = $topDest[$j+1];
$topDest[$j+1] = $tempValue;
$permut = $j;
}
}
} while $permut <= $k;

SimpleSort:

Le Quick Sort est assez simple à comprendre, mais assez compliqué à transcrire en algorithme. Le Quick Sort consiste à trier un tableau en le découpant récursivement en 2 sous tableaux, où les éléments du premier tableau sont inférieurs aux éléments du second. En faisant une opération récursive, on découpe le tableau en élément de plus en plus petit, jusqu'à arriver à un sous tableau à un seul élément, qui est donc forcément trié. Ensuite, en remontant, les éléments sont triés petit à petit.

function mysplit(&$TopDest, &$K, &$L, &$I) {
$I = $K;
$J = $L+1;
$X = $TopDest[$I];
do {
do {
$J = $J-1;
}
while (($TopDest[$J] > $X) && ($I <> $J));
$TopDest[$I] = $TopDest[$J];
while (($I < $J) && ($TopDest[$I] <= $X)) {
$I = $I+1;
}
$TopDest[$J] = $TopDest[$I];
}
while ($I != $J);
$TopDest[$I] = $X;
}

function quicksort (&$TopDest, $K, $L) {
if ($K < $L) {
mysplit ($TopDest, $K, $L, $I);
quicksort ($TopDest, $K, $I-1);
quicksort ($TopDest, $I+1, $L);
}
}



*************
On a parfois de la chance dans son malheur, moi par exemple, je me suis blessé avec une boite de sparadraps (P.Geluck)

Si vous désirez vous ajouter dans mes contacts MSN, veuillez m'envoyer un message via ce site.



Cette discussion est classé dans : tableau, mots, trier, sort, indexé


Répondre à ce message

Sujets en rapport avec ce message

trier un tableau de données par colonnes [ par aurelie53 ] bonjour tout le monde je voulais savoir comment faire pour trier un tableau sachant qu'il est remplis à partir des données d'une base de données et do Trier un tableau selon 2 critères [ par tombal ] J'aimerais trier un tableau de requete mysql selon 2 critèresJe voudrais qu'il le tri dabord par ordre decroissant selon le nombre de points (le score Trier des valeurs dans un tableau [ par punkybreizh ] Bonjour,Voilà, je voudrais savoir si c'était possible de trier un tableau sur 4 colonnes. En effet, je veux afficher des noms dans une colonne avec le Problème pour trier un tableau [ par patrickrgn ] Bonjour,Je cherche à trier un tableau : $result[$r] = array($id,$titre,$url,$description,$mots,$mail,$pertinence,$date_enreg)Je veux le trier par $per tableau php [ par lucky82 ] bonjourj'ai une chaine de caractere $ch qui est composée de plusieurs mots separés par des espaces,je veux creer un tableau qui soit de la forme suiva trier un tableau et recup la premiere valeur [ par nememoris ] bonjourj ai un tabelau$point[1] = 100;$points[2] = 300;$points[3] = 200;je voudrais effectuer un tri decroissant et obtenir '2' comme réponsej ai lu l trier avec sort() [ par brezoneg ] Je recherche à trier des numéro de semaine par ordre alpha croissant. Je fais :connction base .....$date = mysql_result($result,0,"$r[0]");if($date[0] Ajouter des mots dans un tableau en reperant les espaces ! [ par rich25200 ] bonjour, j'aimerai savoir comment ajouter des mots dans un tableaux en fonction des espaces qu'il y a... je m'explique prenons par exemple la phrase Trier tableau multidimensionnel [ par Aaron ] Bonjour,Je souhaiterais trier ce tableau multidimensionnel : Array(     [1] => Array(         [Num] => 5         [LastCrPV] => 10         [Weapon] => Le nom des mes colonnes s'effacent [ par beegeezzz ] Bonjour tout le monde,Je trie mes colonnes de mon tableau, tout ce passe bien.J'ai voulu sécuriser le $_GET['Sort'] mais je rencontre quelques difficu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.