HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - Array sortieren ^^

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Array sortieren ^^

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   PHP
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
Sir Quicksand
Häufiger Poster


Anmeldungsdatum: 19.01.2005
Beiträge: 304
Wohnort: Hannover

BeitragVerfasst am: 21.09.2005 13:02:57    Titel: Array sortieren ^^ Antworten mit Zitat

Hi Leute, hi Jan,

DIESES Problem gab es noch NIE. *ggg*

Gleich vorab, ich bin zu doof und probiere schon den gesamten scheiß Tag rum:

Aus einer SQL Abfrage bekomme ich folgendes Array (ausgegeben mit print_r):
Array ( [0] => Array ( [0] => 291 [SUM( 7H1809159 )] => 291 [1] => 233 [SUM( 7H1809159A )] => 233 [2] => 99 [SUM( 7H1809159B )] => 99 [3] => 116 [SUM( 7H1809159C )] => 116 [4] => 15 [SUM( 7H1809159D )] => 15 [5] => 103 [SUM( 7H3809159 )] => 103 [6] => 33 [SUM( 7H3809159A )] => 33 [7] => 55 [SUM( 7H3809159B )] => 55 [8] => 5 [SUM( 7H3809159C )] => 5 [9] => 71 [SUM( 7H3809159D )] => 71 ) )

Jetzt möchte ich nach den Zahlen aufsteigend sortieren, benötige aber weiterhin die Bezeichnung z. B. SUM( 7H3809159D ). Also nach dem sortieren will ich über z. B. array[n] auf den sortierten Wert zugreifen und zusätzlich möchte ich die dazugehörige Bezeichnung (ich weiß nicht wie ich da rankomme) verwenden.

Lösung Leute?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 21.09.2005 17:06:43    Titel: Antworten mit Zitat

also erstmal gibts diverse sortierverfahren, dazu noch eine funktion in flash die mittels callback soriert. ansonsten: warum nicht einfach SELECT *.... ORDER BY SUM(meinfeld)?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Sir Quicksand
Häufiger Poster


Anmeldungsdatum: 19.01.2005
Beiträge: 304
Wohnort: Hannover

BeitragVerfasst am: 04.10.2005 15:02:34    Titel: Antworten mit Zitat

Ich möchte eigentlich nicht die ganze Zeit Zwischenergebnisse in die DB hochladen und dann sortiert wieder rausziehen.

Es muß doch eine Einfache Methode für das Sortieren geben.
Wert Name
2 Jan
4 Walter
3 Horst
4 Micha

in SQL: Select * bla bla ORDER BY Name DESC
4 Walter
4 Micha
2 Jan
3 Horst

Select * bla bla ORDER BY Wert ASC
2 Jan
3 Horst
4 Micha
4 Walter

Ich möchte es in PHP machen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
admin
Site Admin


Anmeldungsdatum: 16.01.2005
Beiträge: 323
Wohnort: Berlin

BeitragVerfasst am: 04.10.2005 15:30:13    Titel: Antworten mit Zitat

ich glaube wir sollten demnächst mal eine doku zum thema programmiergrundkonstrukte machen. wo dann alles sowas behandelt wird wie sortierverfahren, suchverfahren, klassische ablaufsteuerung, variablenbenennung usw..

zum sortieren:
bubblesort:
Code:
$a = array(3,6,1,5,9,44,2);
$ch = true;
while($ch)
{
 $ch = false;
 for($i=0;$i<count($a)-1;$i++)
 {
  if($a[$i] < $a[$i+1])
  {
   $b = $a[$i];
   $a[$i] = $a[$i+1];
   $a[$i+1] = $b;
   $ch = true;
  }
 }
}

die tauschbedingung kannst du jetzt sicher auch allein an deine bedürfnisse anpassen Wink

ansonsten tuts auch uasort, uksort und usort jeweils mit callback funktion die ansich ja auch nur obiges machen (naja vielleicht nicht unbedingt bubblesort, aber prinzipiell läufts da auch nicht anders ab)

gruss,
jan.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen MSN Messenger
Sir Quicksand
Häufiger Poster


Anmeldungsdatum: 19.01.2005
Beiträge: 304
Wohnort: Hannover

BeitragVerfasst am: 05.10.2005 09:02:31    Titel: Antworten mit Zitat

Hi Jan,

bei dem Sortieren mit PHP stelle ich mich mal wieder total blöd an, aber Dein Vorschlag ist doch nur ein 1. dimensionales Array. Somit habe ich nichts gewonnen, oder reicht mein Intellekt hier nicht weit genug?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sir Quicksand
Häufiger Poster


Anmeldungsdatum: 19.01.2005
Beiträge: 304
Wohnort: Hannover

BeitragVerfasst am: 12.10.2005 15:20:19    Titel: Antworten mit Zitat

Code:

function multi_sort($array, $akey)

   function compare2($a, $b)
   {
      global $key;
      return strnatcmp($a[$key], $b[$key]);
   }
   usort($array, "compare2");
   return $array;
}

   //Es wird nach "reichweite" sortiert
   $ergebnisarray = multi_sort2($sti_li, $key = 'reichweite');
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   PHP
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.