Bonjour,
Avant toute chose sachez que je suis débutant en PHP. J'ai un petit soucis, j'aimerai trier par ordre alphabétique un tableau multidimentionnel. J'ai réussi avec la fonction "array_multisort". Le soucis c'est qu'il me met au départ les mot commencant par une majuscule et à la fin les mots commencant par une minuscule. Voici le code:
Code :
- $tab_nom = array(
- 0 => array ( "a" => "chien", "b" => "url_chien" ),
- 1 => array ( "a" => "chat", "b" => "url_chat" ),
- 2 => array ( "a" => "souris", "b" => "url_souris" ),
- 3 => array ( "a" => "Cheval", "b" => "url_cheval" ),
- 4 => array ( "a" => "Mouche", "b" => "url_mouche" ),
- );
- array_multisort($tab_nom, SORT_ASC);
|
Ce qui me trie dans cet ordre:
Cheval
Mouche
chat
chien
souris
Code :
- Array ( [0] => Array ( [a] => Cheval [b] => url_cheval ) [1] => Array ( [a] => Mouche [b] => url_mouche ) [2] => Array ( [a] => chat [b] => url_chat ) [3] => Array ( [a] => chien [b] => url_chien ) [4] => Array ( [a] => souris [b] => url_souris )
|
Ce que je veux:
chat
Cheval
chien
Mouche
souris
Code :
- Array ( [0] => Array ( [a] => chat [b] => url_chat ) [1] => Array ( [a] => Cheval [b] => url_cheval ) [2] => Array ( [a] => chien [b] => url_chien ) [3] => Array ( [a] => Mouche [b] => url_mouche ) [4] => Array ( [a] => souris [b] => url_souris )
|
J'ai essayer avec plusieurs autres fonction PHP tel que sort, usort etc... mais je n'ai jamais eu le résultat voulu (il faut que je trie a partir de la valeur "a".
Avec vous une idée?
Merci!
edit: je viens d'essayer le system suivant:
Code :
- $array_lowercase = array_map('strtolower', $tab_nom);
- array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $tab_nom);
|
Ca me sort l'erreur suivante autant de fois qu'il y a de valeur dans mon tableau:
Notice: Array to string conversion in /mon_fichier.php on line 67
La ligne 67 étant:
Code :
- $array_lowercase = array_map('strtolower', $tab_nom);
|
Message édité par niklos0 le 04-08-2009 à 12:32:18