sortieren eines mehrdimensionalen Arrays in PHP

  • #1
C

cultsibi

Bekanntes Mitglied
Themenersteller
Dabei seit
19.03.2005
Beiträge
64
Reaktionspunkte
0
Ich habe folgendes Problem. Mein Array ist mehr dimensional und sieht ungefähr so aus.

Array (
[0][0] => Array ( [rtime] => 60, [id] => 1 )
[1] => Array ( [rtime] => 30, [id] => 2 )
[2] => Array ( [rtime] => 90, [id] => 3 )
[3] => Array ( [rtime] => 70, [id] => 4 )
)

Mein ziel ist es, dies nach dem key->rtime' sortieren zu lassen. So das später folgendes heraus kommen sollte.

Array (
[0][0] => Array ( [rtime] => 90, [id] => 3 )
[1] => Array ( [rtime] => 70, [id] => 4 )
[2] => Array ( [rtime] => 60, [id] => 1 )
[3] => Array ( [rtime] => 30, [id] => 2 )
)

Habe mir schon alle sort-Funktionen im manuel angeschaut, aber werde daruas leider nicht schlau. Vielen Dank schonmal im voraus
 
  • #2
Code:
<?php
<?
$arr = array (
	0 => array ( rtime => 60, id => 1 ),
	1 => array ( rtime => 20, id => 2 ),
	2 => array ( rtime => 90, id => 3 ),
	3 => array ( rtime => 30, id => 4 ),
	4 => array ( rtime => 50, id => 5 ),
	5 => array ( rtime => 80, id => 6 ),
	6 => array ( rtime => 10, id => 7 ),
	7 => array ( rtime => 40, id => 8 ),
	8 => array ( rtime => 70, id => 9 )
);

foreach($arr as $v) $s[] = $v[1];
array_multisort($s, SORT_DESC, $arr);
$a = array_reverse($arr);
print_r($a);
/**
Array ( [0] => Array ( [rtime] => 90 [id] => 3 ) 
      [1] => Array ( [rtime] => 80 [id] => 6 ) 
      [2] => Array ( [rtime] => 70 [id] => 9 ) 
      [3] => Array ( [rtime] => 60 [id] => 1 ) 
      [4] => Array ( [rtime] => 50 [id] => 5 ) 
      [5] => Array ( [rtime] => 40 [id] => 8 ) 
      [6] => Array ( [rtime] => 30 [id] => 4 ) 
      [7] => Array ( [rtime] => 20 [id] => 2 ) 
      [8] => Array ( [rtime] => 10 [id] => 7 ) )
*/
?>
 
  • #3
super, danke
 
Thema:

sortieren eines mehrdimensionalen Arrays in PHP

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben