Kleidergrößen (XXS, XS, S, M, L, XL…) mit PHP sortieren

Autor: Frank

Da ich vor der Problematik stand, für den Onlineshop eines Kunden die Sortierung nach der Größe im “kleidungstypischen Format” durchzuführen (also S, M, L, XL usw.) habe ich folgende kleine Funktion in PHP geschrieben, mit der via usort eben genau diese Problematik gelöst werden kann. Vielleicht kann ja noch der ein oder andere diesen Code gebrauchen:

function usortFunction($g1, $g2) {
  $sortierung = Array("XXXS" => 1, "XXS" => 2, "XS" => 3, "S" => 4, "M" => 5, "L" => 6, "XL" => 7, "XXL" => 8, "XXXL" => 9, "XXXXL" => 10);
  $index1     = $sortierung[strtoupper($g1)];
  $index2     = $sortierung[strtoupper($g2)];
  return ($index1 < $index2) ? -1 : 1;
}

Der Aufruf der Funktion erfolgt dann wie folgt:

usort($groessen, "usortFunction");

…wobei $groessen ein Array aus Strings ist.

Abgelegt in: PHP-Codeschnipsel Kommentare(0) Februar 2011