Werte nach Größe zuweisen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Werte nach Größe zuweisen

    Hallo,

    ich habe 3 Variablen $punkte1, $punkte2 und $punkte3.

    Jetzt soll ihnen nach Größe der Variablen ein Wert $pos1, $pos2 und $pos3 zugewiesen werden.

    Es kann sein das die Größen der Variablen $punkte durcheinander gewürfelt sind.

    Wie kann ich jetzt den Variablen $pos Werte nach Größe der $punkte zuweisen?


    LG Klaus

  • #2
    bleibt es bei den 3 oder werden es mehr?

    Kommentar


    • #3
      Hallo,

      es bleiben immer 3.


      LG Klaus

      Kommentar


      • #4
        Die Werte in einen Array packen und: http://www.php.net/manual/en/function.asort.php

        Danach mit einer for Schleife auslesen...

        oder mit elseif arbeiten

        Kommentar


        • #5
          Re: Werte nach Größe zuweisen

          Und dann bei der Beschaeftigung mit Arrays bitte auch gleich erkennen, welche Vorteile diese haben - gegenueber dem "Durchnummerieren" von Variablennamen, was i.a.R. grosser Bloedsinn ist.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Hallo,

            ich habe das bis jetzt so:

            PHP-Code:
              $platz = array($puntkte1,$punkte2,$punkte3);
              
            asort ($platz);
              foreach (
            $platz as $key) {
                echo 
            "$key\n";
              } 
            Es werden auch alle 3 Werte ausgegeben.
            Nun komme ich nicht weiter, wie ich jetzt die Position zuweisen kann.

            Wenn zum Beispiel folgende Zahlen in $punkte stehen:

            $punkte1 = 1224
            $punkte2 = 457
            $punkte3 = 477

            Dann soll $pos1 = 1, $pos2 = 3 und $pos3 = 2 werden.

            Wie muss ich den Code dafür abändern?


            LG Klaus

            Kommentar


            • #7
              PHP-Code:
              $count 0;
              $platz = array($puntkte1,$punkte2,$punkte3);
                  
              asort ($platz);
                  foreach (
              $platz as $key) {
                       
              $count++;
                       echo 
              'Platz '.$count.') '.$key.' Punkte\n';
                  } 

              Kommentar


              • #8
                Wie muss ich den Code dafür abändern?
                Falls man deine Problembeschreibung ...
                Wenn zum Beispiel folgende Zahlen in $punkte stehen:

                $punkte1 = 1224
                $punkte2 = 457
                $punkte3 = 477

                Dann soll $pos1 = 1, $pos2 = 3 und $pos3 = 2 werden.
                ... so verstehen darf, dass die Werte in absteigender Reihenfolge sortiert werden sollten.

                PHP-Code:
                  $platz = array($puntkte1,$punkte2,$punkte3);
                  
                rsort($platz);
                  list (
                $pos1$pos2$pos3) = $platz;
                  echo 
                "$pos1\n";
                  echo 
                "$pos2\n";
                  echo 
                "$pos3\n"
                Die Funktion rsort() sortiert in absteigender Reihenfolge und ist besser geeignet als das von dir verwendete asort().

                Allerdings hast du schon den Hinweis bekommen, dass du Variablen nicht mit lustigen Zahlen durchnummerieren sollst, wenn es sich um eine Sammlung von vergleichbaren Werten (wie z.B. "Punktezahl") handelt. Besser ist es, ein PHP-Array dafür einzuspannen. Und mir deucht, du könntest dafür ein "assoziatives Array" brauchen.
                Zuletzt geändert von fireweasel; 30.01.2009, 20:18.
                Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                Kommentar

                Lädt...
                X