mehrdimensionales array ausgeben (php)

Dieses Thema mehrdimensionales array ausgeben (php) im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von xeen, 14. Juni 2003.

Thema: mehrdimensionales array ausgeben (php) also: ich habe in einer Datei verschiedene nutzerdaten gespeichert. Die lese ich ganz normal per file(); aus, (Der...

  1. also: ich habe in einer Datei verschiedene nutzerdaten gespeichert.
    Die lese ich ganz normal per file(); aus, (Der ausgelesene Wert wird nochma mit explode(); verhackstückt und dann) speichere ich den Wert in einem Array.
    $alladminstosort[$aktuelleradmin[0 ]]
    $alladminstosort: hier werden die Werte später nach dem Alphabet sortiert, $aktuelleradmin[0 ] ist der admin der gerade ausgelesen wurde. Später soll das ganze dann nicht so ausgegeben werden BZA sonder ABZ deswegen sortiere ich den array mithilfe von ksort sodass $alladminstosort die admins in einer richtigen Reihenfolge haben sollte.
    Es folgt nun nur noch ein reset() des Arrays und dann will ich es eigentlich ausgeben. Aber wenn ich array_values() nehme sagt der mir nur array :-\

    Hier erstma der gesmate code:
    Code:
          echo <i>Admins</i>;
          $alladmins=file(admins.dat);
          for ($i = 0; $i < sizeof($alladmins); $i++) {
              $aktuelleradmin=explode(%,removenl($alladmins[$i]));
              $alladminstosort[$aktuelleradmin[0]]=<li>$aktuelleradmin[0] ($aktuelleradmin[2])</li>;
          }
           ksort($alladminstosort);
           reset($alladminstosort);
           echo array_values($alladminstosort);
    Ich glaube da keienr verstanden hat was ich will erklär ichs nochma: Im Prinzip habe ich ein Array mit verschiedenen werten. Dieses werte ich aus und möchte dann den verarbeiteten Inhalt (also das was später ausgegeben wird) anhand von den bei der verarbeitung ausgelesenen admins sortieren. Vorher funktionierte das ja nur mit [0 ] [1] usw., nun möchte ich aber nach der Verarbeitung das nicht in der Zahlenreihenfolge ausgegeben wird, sondern eben nach den Admins ($aktuelleradmin[0 ]) sortiert wird.

    Hat jemand eine Idee?

    PS: ich weiß das es ziehmlich kompliziert ist was ich hier geschrieben habe also fragt wenn Fragen da sind :>
    xeen
     
  2. Also ich habs geschafft mein Problem selbst zu lösen.
    Und zwar so: ein array: enthält den namen des Admins ($aktuelleradmin[0 ]) und die nr. wie sie in der datei vorkommt also 0 1 2 usw.
    Das 2. array enthält ganz normal die Informationen zum übergeben.
    nun wird das 1. array nach dem inhalt sortiert.
    in einer zweiten forschleife werden die nrs wie sie in der datei vorkommen ausgelesen (wurden ja vorher mit einem prozent zeichen getrennt, welches nicht in den admins vorkommt). Da das array ja sortiert war wird nun in unterschiedlicher reihenfolge das 2. array ausgegeben und zwar nach dme abc...
    Also hier sit der code, falls ihn einer braucht :)

    Code:
               echo <i>Admins</i>;
          $alladmins=file(admins.dat);
          for ($i = 0; $i < sizeof($alladmins); $i++) {
            $aktuelleradmin=explode(%,removenl($alladmins[$i]));
            $alladminsarray1[$i]=$aktuelleradmin[0]%$i;
            $alladminsarray2[$i]=<li><a href=\$self&action=userverwaltung&uvaction=delask&leveltodel=Admin&nrtodel=$i\>$aktuelleradmin[0] ($aktuelleradmin[2])</a></li>;
          }
           sort($alladminsarray1);
           reset($alladminsarray1);
    
           for($i=0; $i<sizeof($alladminsarray1); ++$i)
            {
              $getnrtoload=explode(%,$alladminsarray1[$i]);
              $echonr=$getnrtoload[1];
              echo $alladminsarray2[$echonr];
            }
    xeen
     
  3. Hi

    Tipp: Arrays kannst du dir zum debuggen prima mit print_r($array) ausgeben lassen.

    Gruß, Michael
     
  4. hey cool... wusste doch das es da so eine funktion gibt habse aber nciht gefunden!
    geil ;P
     
  5. Ihr könnt mir bestimmt helfen.

    Ich habe ebenfalls erst file() benutzt um die datei auszulesen und danach die werte mit explode() noch einmal auseinandergestückelt.

    Bloß wie schreibe ich den Code, wenn ich jetzt ein bestimmtes array aus dem 2. Feld ausgeben möchte?
    Habe schon diese Varianten ausprobiert. Sie funktionieren aber nicht.

    $array1[0][2]
    $array1[0]array2[2]
     
  6. Kannst du mal ein print_r($array1); machen und das Ergebnis hier Posten ???

    gruss conny

    edit: Auszug würde reichen wenn es zu groß ist ;) ;)
     
  7. ich glaube eher, dass der fehler bei der bedienung des explode() liegt
    hier ein mal ein auszug:

    <?
    $tribe_info = file(tribe.txt);
    $tribe_daten = explode(,,$tribe_info);
    echo ($tribe_info[0][1]),<br>;
    echo ($tribe_info[4][1]),<br>;
    ?>
     
  8. Gut möglich ;D

    Aber um nicht lange zu Rätseln, solltest du mal einen Auszug deiner Text-Datei posten, dass würde die Sache sehr erleichtern ;) ;)

    Außerdem kannst du dich mal hier ein bissle einlesen:

    http://de3.php.net/function.file
    http://de2.php.net/explode

    BTW: wenn du deine Text-Datei mit dem Befehl file einliest, ist sie schon in einem Array, was soll dann noch der explode ???

    gruss conny
     
  9. in explode sollen die einzelnen Zeileninhalte (die durch , getrennt sind) noch einmal aufgesplittet werden
     
  10. Davon hab ich immer noch keine Ahnung wie:

    a) dein Array

    oder

    b) die Text-Datei aussieht

    gruss conny
     
Die Seite wird geladen...

mehrdimensionales array ausgeben (php) - Ähnliche Themen

Forum Datum
Java- mehrdimensionales Array sortieren Webentwicklung, Hosting & Programmierung 26. Juni 2005
Mehrdimensionales Array aus DB füllen Webentwicklung, Hosting & Programmierung 21. Apr. 2005
php Array mit Rijndael verschlüsseln Windows XP Forum 22. Nov. 2013
HP Smart Array e200 Windows XP Forum 10. Juli 2009
Prozessoewechsel / & Raidarray umbauen Hardware 24. Nov. 2007