Trier des tailles (avec des doublons) de vêtement dans un tableau

Eléphanteau du PHP | 17 Messages

02 févr. 2023, 16:15

Bonjour, je souhaite trier des tailles de vêtements dans un tableau mais je n'arrive pas...
Je débute, je suis désolé !

J'assigne des numéros ou des étiquettes au lettres... JE BLOQUE T_T

$tableau = array("1" => "s", "2" => "m", "3" => "l", "4" => "xl");
arsort($tableau);
foreach ($tableau as $key => $val) {
echo "$key = $val\n";
}

$tableau = ['M', 'M', 'S', 'XL', 'L', 'XL', 'S', 'M', 'XL', 'S']; <--- le tableau en question

Mammouth du PHP | 1967 Messages

02 févr. 2023, 16:26

Je pense que le mieux serait d'utiliser une fonction de tri personalisé.
$tableau = ['M', 'M', 'S', 'XL', 'L', 'XL', 'S', 'M', 'XL', 'S'];
usort($tableau, 'sizeSort');
function sizeSort($s1, $s2) {
$sizeSorted = ['s' => 1, 'm' => 2, 'l' => 3, 'xl' => 4];
if ($sizeSorted[strtolower($s1)] == $sizeSorted[strtolower($s2)]) return 0;
elseif ($sizeSorted[strtolower($s1)] > $sizeSorted[strtolower($s2)]) return 1;
else return -1;
}
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 17 Messages

02 févr. 2023, 16:40

Merci pour ta réponse déjà
Quel variable dois-je déclarer pour pouvoir voir dans mon var_dump stp ? afin que je comprenne mieux
Merci d'avance

Avatar du membre
Mammouth du PHP | 1609 Messages

02 févr. 2023, 17:48

$tableau = ['M', 'M', 'S', 'XL', 'L', 'XL', 'S', 'M', 'XL', 'S'];
usort($tableau, 'sizeSort');
var_dump($tableau);
Développeur web depuis + de 20 ans