Announcement

Collapse
No announcement yet.

Array nach Spaltennamen sortieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Array nach Spaltennamen sortieren

    Hallo Forum,

    ich habe ein Array, das z.B. so aussieht:

    Code:
    _id 	Raum 	2__Schrank 	5__Schrank	 1__Schrank 	3__Schrank	 4__Schrank	 6__Schrank
    1	A		1		1		2	B				6			2			8		5			3
    2	C						4						8			5
    Jetzt möchte ich gerne, dass die Spalten mit "Schrank" aufteigend sortiert werden. Also _id, 1__Raum, 2__Raum, 3__Raum, 4__Raum, 5__Raum, 6__Raum.

    Wie geht das?

    Danke,
    Yusuf

  • #2
    Was ist das für ein Array? Zweidimensional?
    Christian

    Comment


    • #3
      Hallo,

      ja genau. 2 Dimensional und Assoziativ.

      Comment


      • #4
        http://php.net/manual/de/function.array-multisort.php
        Christian

        Comment


        • #5
          Ich will nach den Schlüsseln sortieren. Mit ksort geht es soweit:

          PHP Code:
          foreach ($arr as $key => $row) {
              
          ksort($arr[$key]);

          Jetzt sieht es schon fast so aus wie ich es brauche. Ich möchte gerne die beiden Spalten "_id" und "Raum" NICHT sortieren lassen mit ksort. Wie kann man soetwas machen? Irgendwie aufteilen in zwei Arrays und das eine sortieren, das andere nicht und dann zusammen fügen? Oder mit dem uksort eine Außnahme programmmieren. Beim nachfolgenden klemmt es noch. Im Prinzip müssten die Spalten immer (in sich) unsortiert ganz links stehen und danach sortiert der Rest.

          PHP Code:
          function partSort ($a$b) {
              if (
          $a == "_id" || $a == "Raum") {
                  
          $result = -1;
              } else {
                  
          $result $a>$b;
              }
              
              return 
          $result;
          }

          foreach (
          $arr as $key => $row) {
              
          uksort($arr[$key], 'partSort');

          Comment

          Working...
          X