Die benutzerdefinierte Sortierung eines flachen Arrays mit uasort() gibt 1 zurückPhp

PHP-Programmierer chatten hier
Guest
 Die benutzerdefinierte Sortierung eines flachen Arrays mit uasort() gibt 1 zurück

Post by Guest »

Ein Array kommt mit einigen oder allen der folgenden Werte in beliebiger Reihenfolge an. Wie ordne ich sie am besten in aufsteigender Größenordnung an? Also beginnend mit klein und endend mit XXL. Ich kann zwar sortieren, weiß aber nicht, wie die Elemente in meiner benutzerdefinierten Funktion angeordnet werden sollen

Code: Select all

Small
XXL
Medium
Large
XL
BEARBEITEN: Einige Informationen weggelassen, daher neue Frage erstellt Benutzerdefiniertes Bestellarray mit Schlüssel-/Wertpaaren

BEARBEITEN2: Vollständiger Code

Code: Select all

print_r($sizes);
$sorted_sizes = $this->sort_sizes(array_unique($sizes));
print_r($sorted_sizes);

function sort_sizes($sizes)
{
return uasort($sizes, array($this, 'cmp'));
}

function cmp($a,$b)
{
$sizeArray = array( 'Small' => 0, 'Medium' => 1, 'Large' => 2, 'XL' => 3, 'XXL' => 4);
return $sizeArray[$a] - $sizeArray[$b];
}
Dies gibt aus:

Code: Select all

Array
(
[66-507cddcd16d9786abafccfa78b19acf8] => XL
[64-507cddcd16d9786abafccfa78b19acf8] => medium
[65-507cddcd16d9786abafccfa78b19acf8] => large
[63-507cddcd16d9786abafccfa78b19acf8] => small
)
und print_r($sorted_sizes) gibt nur die Ausgabe „1“ aus

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post