Array sortieren

time-master

Erfahrenes Mitglied
Hallo!
Ich habe ein mehrdimensionales Array:
PHP:
  Array 
  (     
  	 [0] => Array         
  		   (             
  				[0] => 1             
  				[1] => 12         
  			)
  	 [1] => Array         
  			(             
  				[0] => 2             
  				[1] => 22         
  			 )      
  	 [2] => Array         
  			(             
  				[0] => 3             
  				[1] => 5         
  			 )      
  )
Dieses möchte ich nun nach dem zweiten Wert des zweiten Arrays sortieren.
Endergebnis:
PHP:
  Array 
   (     
   	 [0] => Array         
    			(             
    				[0] => 2             
    				[1] => 22         
    			 )      
  	 [1] => Array         
   		   (             
   				[0] => 1             
   				[1] => 12         
   			)
  	 [2] => Array         
   			(             
   				[0] => 3             
   				[1] => 5         
   			 )      
   )

Ich hoffe es kann mir jemand helfen!
 
[phpf]usort[/phpf] ist dafür geeignet.
In Deiner Vergleichsfunktion greifst Du dann auf das entsprechende Element der 2. Ebene (welches in der Funktion in der ersten Ebene steht) zu.
 
PHP:
function cmp ($a, $b) {
   if ($a[1] == $b[1]) return 0;
   return ($a[1] < $b[1]) ? -1 : 1;
}
So sollte Deine Vergleichsfunktion aussehen.
Um die Sortierung umzukehren machst Du aus dem Kleiner-Zeichen (<) ein Größer-Zeichen (>).
Noch ein Hinweis: [phpf]usort[/phpf] gibt nichts zurück, sondern sortiert das Array. Das sortierte Array ist also dasselbe, wie das, was Du der Funktion übergeben hast.
 
Zurück