Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trier un tableau sans prendre en compte la casse

4 réponses
Avatar
Leo Wauters
Bonjour à tous,
Mes essais se révèlent infructueux, et je suis en panne d'idées...

J'ai un tableau qui contient, disons, des noms et prénoms.
$montableau = array( "Alain" => "Ternet",
"Aude" => "Vaisselle",
"Jean" => "Bonno",
"diane" => "Ostik") ;

Je fais un ksort sur le tableau, et j'obtiens :
Alain Ternet
Aude Vaisselle
Jean Bonno
diane Ostik

ksort repsecte la casse et ca m'embête...
Je voudrais avoir :

Alain Ternet
Aude Vaisselle
diane Ostik
Jean Bonno

Je n'ai pas trouvé de fonction ou de moyen simple de'avoir ce
résultat. Même les flags de ksort ne donnent rien.

Quelqu'un, une idée ?

Cordialement,

Léo.

4 réponses

Avatar
Roland
Le Wed, 01 Oct 2003 16:13:21 +0000, Leo Wauters a écrit :

Je fais un ksort sur le tableau, et j'obtiens :
.......
ksort repsecte la casse et ca m'embête...
......
Je n'ai pas trouvé de fonction ou de moyen simple de'avoir ce
résultat. Même les flags de ksort ne donnent rien.


Tu peux essayer avec la fonction array_change_key_case
qui force la casse en minuscules ou majuscules (voir Manuel) .

--
Roland MATTEOLI
(retirer ".marreduspam" de l'adresse)

Avatar
Roland
Le Wed, 01 Oct 2003 16:13:21 +0000, Leo Wauters a écrit :

Je n'ai pas trouvé de fonction ou de moyen simple de'avoir ce
résultat. Même les flags de ksort ne donnent rien.


Ou alors essaie natcasesort (voir manuel PHP).

--
Roland MATTEOLI
(retirer ".marreduspam" de l'adresse)

Avatar
david soubre
Je fais un ksort sur le tableau, et j'obtiens :
Alain Ternet
Aude Vaisselle
Jean Bonno
diane Ostik

ksort repsecte la casse et ca m'embête...
Je voudrais avoir :

salut,


avec usort c'est a toi d'ecrire la fct de comparaison, tu peux trier par
teinte de cheveux si tu le veux ;)


http://www.php.net/manual/en/function.usort.php

David.

Avatar
Ampac
Dans news:,
Leo Wauters raconte :

Je n'ai pas trouvé de fonction ou de moyen simple de'avoir ce
résultat. Même les flags de ksort ne donnent rien.


Essaye avec uksort() et une fonction de comparaison que tu personnalises à
souhait, par exemple ceci (non testé) :

function mafonction($mavar1,$mavar2)
{
$mavar1=strtolower($mavar1);
$mavar2=strtolower($mavar2);
if($mavar1==$mavar2) return 0;
if($mavar1>$mavar2) return -1 else return 1;
}

uksort($montableau, mafonction);

--
Ampac