Tri d'un tableau
12 messages
• Page 1 sur 1
- Recif
- WRInaute impliqué

- Messages: 816
- Inscription: 25 Aoû 2004
Tri d'un tableau
Bonjour,
Je n'arrive pas à trier un tableau...
J'ai le tableau construit ainsi :
Et j'aimerai trier par ordre alphabetique le nom (name) de l'array new_ary... J'ai essayé avec toutes les version de sort en php mais impossible, ca me donne pas de résultat trié ou alors des tris n'importe comment... Quelqu'un aurait il une idée?
Merci
Je n'arrive pas à trier un tableau...
J'ai le tableau construit ainsi :
- Code: Tout sélectionner
while (($file = readdir($dp)) !== false)
{
$subpath = ($mode != 'style') ? "$mode/" : '';
if ($file[0] != '.' && file_exists("{$phpbb_root_path}styles/$file/$subpath$mode.cfg"))
{
if ($cfg = file("{$phpbb_root_path}styles/$file/$subpath$mode.cfg"))
{
$items = parse_cfg_file('', $cfg);
$name = (isset($items['name'])) ? trim($items['name']) : false;
if ($name && !in_array($name, $installed))
{
$new_ary[] = array(
'path' => $file,
'name' => $name,
'copyright' => $items['copyright'],
);
}
}
}
}
Et j'aimerai trier par ordre alphabetique le nom (name) de l'array new_ary... J'ai essayé avec toutes les version de sort en php mais impossible, ca me donne pas de résultat trié ou alors des tris n'importe comment... Quelqu'un aurait il une idée?
Merci
-

UsagiYojimbo - WRInaute accro

- Messages: 8579
- Inscription: 23 Nov 2005
Re: Tri d'un tableau
La doc PHP a peut-être la solution à ton problème : http://www.php.net/manual/fr/function.array-multisort.php#60401
-

UsagiYojimbo - WRInaute accro

- Messages: 8579
- Inscription: 23 Nov 2005
Re: Tri d'un tableau
Recif a écrit:J'ai déjà passé toute l'après midi sur ce site...
Et la solution donnée à l'endroit que je te linke ne fonctionne pas ? Parce que j'avais trouvé ça sur un topic de forum ayant trait à la même problématique que toi, et cette fonction semblait répondre parfaitement à la demande.
- Recif
- WRInaute impliqué

- Messages: 816
- Inscription: 25 Aoû 2004
Re: Tri d'un tableau
Ben c'est surement cette fonction mais je n'arrive pas à la mettre en pratique sur mon problème... 
J'ai parcouru pleins de forums avec le même type de problème et utilisant cette fonction mais je n'arrive pas... Il y a un truc ou un parametre qui doit m'échapper...
J'ai parcouru pleins de forums avec le même type de problème et utilisant cette fonction mais je n'arrive pas... Il y a un truc ou un parametre qui doit m'échapper...
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Re: Tri d'un tableau
Bonjour
Change un peux ton array pour faire un truc plus facile.
Exemple :
Selon si ton $name est unique ou pas, tu aura pas besoin du niveau en plus ([])
Sky
Edit, si j'ai bien pigé ton code, $nom est unique, (du moins tu veux qu'une seul occurence de $nom) :
Change un peux ton array pour faire un truc plus facile.
Exemple :
- Code: Tout sélectionner
$new_ary[$name][] = array(
'path' => $file,
'name' => $name,
'copyright' => $items['copyright']
);
Selon si ton $name est unique ou pas, tu aura pas besoin du niveau en plus ([])
Sky
Edit, si j'ai bien pigé ton code, $nom est unique, (du moins tu veux qu'une seul occurence de $nom) :
- Code: Tout sélectionner
$new_ary[$name] = array(
'path' => $file,
'name' => $name,
'copyright' => $items['copyright']
);
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Re: Tri d'un tableau
Salut
ok, alors ajoute cette fonction dans le fichier des fonctions de phpbb, me rappel plus du nom ^^
Ensuite, après le while, appel la fonction comme ceci :
ok, alors ajoute cette fonction dans le fichier des fonctions de phpbb, me rappel plus du nom ^^
- Code: Tout sélectionner
function my_Sort($arrayToSort)
{
$out = array();
$temp = array();
foreach($arrayToSort as $i => $data_ar)
{
$temp[$i] = $data_ar['name'];
}
asort($temp);
foreach($temp as $i => $name)
{
$out[] = $arrayToSort[$i];
}
return $out;
}
Ensuite, après le while, appel la fonction comme ceci :
- Code: Tout sélectionner
$new = my_Sort($new_ary);
12 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
