Tri tableau à partir d'une liste.txt et de deux variables.

Résolu
Fontainard Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -  
Fontainard Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Ce que j'essaye de faire n'est forcément pas compliqué, mais je n'arrive pas néanmoins à trier mes liens en fonction de la catégorie dans un array, l'objectif est de réaliser une simple liste de liens qui seraient rangés par catégories "pour une page partenaire".

Voilà mon fichier texte :


http://www.lien1.com/,a
http://www.lien2.com/,b
http://www.lien3.com/,a
http://www.lien4.com/,b
http://www.lien5.com/,b
http://www.lien6.com/,a




et mon code php actuel



$tableau = array();
$fn = fopen('liens.txt', 'r') or die ("probleme ouverture du fichier texte");

while ($ligne=fgets($fn))
{
list($url, $cat)= explode(",",$ligne);
$tableau[]=$url;
echo '<td> </td>';
}
print_r($tableau);
fclose($fn);
?>


J'ai tenté de trier avec sort, mais je n'ai que réussi à faire à part un tri alphabétique :p. j'ai essayé d'imbriquer un for ($i=0 ; $i<=cpt; $i++) en enregistrant à chaque fois une variable $catactu pour pouvoir ensuite la comparer, J'ai essayé d'incorporer de la même manière une fonction de tri qui compare avec strcmp($catactu["tableau"],$cat["tableau"] !== 0){ et usort sans rien réussir à obtenir.

Bref, je n'arrive pas à formaliser mon code pour que ça fonctionne correctement, votre aide est donc assurément la bienvenue s'il vous plait !

Merci !



1 réponse

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Une solution serait qu'au lieu d'avoir un tableau plat, tu aies un tableau de tableaux :
$tableau = array();
$fn = fopen('liens.txt', 'r') or die ("probleme ouverture du fichier texte");

while ($ligne=fgets($fn))
{
    list($url, $cat)= explode(",", $ligne);
    if (!isset($tableau[$cat]))
        $tableau[$cat] = array();
    $tableau[$cat][] = $url;
}
print_r($tableau);
fclose($fn);


Xavier
2
Fontainard Messages postés 68 Date d'inscription   Statut Membre Dernière intervention  
 
Félicitations bonhomme, c'est ce qu'il me fallait merci grandement ! (désolé pour la latence!)
0