Ankündigung

Einklappen
Keine Ankündigung bisher.

HighScore liste erstellen

Einklappen

Neue Werbung 2019

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

  • HighScore liste erstellen

    hi,

    kleine frage ich habe eine textdatei, die ich lade mal

    100,müller||140,mayer||50,abadala||10,hoshi||300,s uperduper||

    das würde ich nun gerne sotieren lassen, nach den punkten also das 300 zum bsp dan als erstes in nem array steht... wie kriege ich das am besten hin ??

    hab da irgendwie keinen plan wie ich das machen kann

    mfg,
    destroy90210

  • #2
    1. testdatei auslesen und alle zeilen in eine variable ($var) speichern
    2. variable ($var) zerstückeln
    Code:
    $temp = explode("||",$var);
    3. Stücke ($temp) sortieren:
    Code:
    sort($temp)
    4. ausgeben:
    Code:
    foreach ($temp as $key=>$value)
      echo $value . "
    ";
    mfg Floh

    Programmers don't die, they GOSUB without RETURN

    Kommentar


    • #3
      hi ..
      da wollt ich mich hier mal reinarbeiten und ne tolle lösung vorbringen .. und da kommt der ashergul und ist schneller ..

      naja. aber immerhin hab ich wieder was für mich gelernt

      Code:
      <?php
      
      	$filename = "highscore.txt";
      
      	if ( file_exists($filename) )
      	{
      		$handle = fopen( $filename,"rb" );
       		$content = fread ( $handle, filesize ($filename) );
      		fclose($handle);
      		
      		$_data = explode("||",$content);
        		array_pop($_data);
        		
      		sort($_data,SORT_NUMERIC);
      		$_data = array_reverse($_data);
      
      		echo "<pre>";
      		print_r($_data);
      		echo "</pre>";
      	}
      	else
      	    printf ("Die Datei %s existiert in diesem
      		         Verzeichnis leider nicht.",
      				 $filename);
      	
      
      ?>
      ausgabe:
      Code:
      Array
      (
          [0] => 300,superduper
          [1] => 140,mayer
          [2] => 100,müller
          [3] => 50,abadala
          [4] => 10,hoshi
      )

      grüße ben
      [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

      Kommentar


      • #4
        *g* hatte sowas ähnliches letztes jahr programmiert (allerdings mit dateinamen)

        aber schöner is es natürlich mit abgefangenen fehlern und $_ für arrays
        mfg Floh

        Programmers don't die, they GOSUB without RETURN

        Kommentar


        • #5
          hi,
          danke mal für eure hilfe aber inzwischen habe ich was gefunden das super funzt und zwar auf flashhilfe.de ein tutorialzu genau dem was ich brauchte

          hier das php zeug falls es wenn interessiert ich checks zwar noch ned ganz aber wird schon :P

          Code:
          <?
          # Die Datei indem die Highscore gespeichert werden soll wird im
          # Flash Movie eingestellt (erstes Schlüsselbild - Ebene Action).
          $datei="data.txt";
          $i = 0;
          $fp = @fopen($datei,"r");
          while ($zeile= @fgets($fp,1000)) {
          	# entfernt Leerzeichen am Anfang und Ende der Zeile
          	$zeile = trim($zeile);
          	
          	# Teilt die Zeile anhand des Semikolons
          	$zeile = split(";",$zeile);
          	
          	# Erstellt ein Mehrdimensionales Array
          	$id{$i} = array("Name" => $zeile[1], "Hits" => $zeile[0]);
          	
          	$i++;
          }
          @fclose($fp);
          
          # Sortiert das Array nach Hits
          usort($id, sortier_funktion);
          
          # Sortierfunktion
          function sortier_funktion($a, $b) { 
          	return strnatcasecmp($a["Hits"],$b["Hits"]);
          }
          
          # Ausgabe wird umgedreht
          $id = array_reverse($id);
          
          # Array Ausgabe
          while (list($key, $value) = each($id)) { 
          	$namen .= $id{$key}{"Name"}." \n";
          	$hits .= $id{$key}{"Hits"}." \n"; 
          	
          	# Nur die ersten 10 Ergebnisse ausgeben (Index fängt bei 0 an)
          	if($key == 9) { break; }
          } 
          
          # Ausgabe für Flash
          echo "&hits=".$hits;
          echo "&namen=".$namen;
          echo "&geladen=1"; # Variable die für den Loader im Flash-Movie benötigt wird
          
          ?>
          das ganze wird in flash eingelesen
          mfg,
          destroy90210

          Kommentar

          Lädt...
          X