[PHP] Array Aufteilung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von SeXy, 17. Oktober 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 17. Oktober 2006
    Array Aufteilung

    Moin!
    Ich habe ein Array, welches folgenden Aufbau hat:
    [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(5) "66085" [3]=> string(7) "1587199" [4]=> string(5) "23349" [5]=> string(7) "3618608" [6]=> string(1) "0" [7]=> string(2) "50" [8]=> string(5) "70155" [9]=> string(4) "1160" [10]=> string(1) "0" [11]=> string(1) "0" [12]=> string(1) "0" [13]=> string(11) ""127.0.0.1"" [14]=> string(8) "".PuNkT"" [15]=> string(2) """" [16]=> string(1) " "

    Zur besseren Darstellung noch einmal der Quelltext:
    Code:
    array(17) {
     [0]=>
     string(1) "1"
     [1]=>
     string(1) "1"
     [2]=>
     string(5) "66085"
     [3]=>
     string(7) "1587199"
     [4]=>
     string(5) "23349"
     [5]=>
     string(7) "3618608"
     [6]=>
     string(1) "0"
     [7]=>
     string(2) "50"
     [8]=>
     string(5) "70155"
     [9]=>
     string(4) "1160"
     [10]=>
     string(1) "0"
     [11]=>
     string(1) "0"
     [12]=>
     string(1) "0"
     [13]=>
     string(11) ""127.0.0.1""
     [14]=>
     string(8) "".PuNkT""
     [15]=>
     string(2) """"
     [16]=>
     string(1) "
    "
    }
    Das habe ich mit folgendem Code erzeugt (War vorher ein String):
    PHP:
    $buffer  fread ( $this -> fs , 10000 );
                
    $buffer  str_replace ( "\n" , "<br />" , $buffer );
                
    $buffer  str_replace ( "OK" , " " , $buffer );
                
    $buffer  explode  ( "<br />" $buffer );
                
    $i  "0" ;
                while (
    $i  count ( $buffer )) {
                    
    $buffer [ $i ] =  explode ( "\t" $buffer [ $i ]);
                    
    $i ++;
                }
    Folgendes stört mich aber an dem Array:
    Es soll nicht die Aufteilung "[1]=> bla" haben sondern "[variable]=> wert".
    Wie kann ich am Besten irgendwo vor der while Schleife festlegen, dass das Array später so aufgebaut werden soll? Es wird ja schließlich durch den explode erzeugt.
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 17. Oktober 2006
    AW: Array Aufteilung

    Ich würde eine neue schleife machen welche dir die änderungen vornimmt,da ich hier nicht erschließen kann was "variable" sein soll und was "wert" sein soll ?! Sehe hier nur einen Variablenwert (wie z.B. '127.0.0.1').

    FlowFlo
     
  4. #3 17. Oktober 2006
    AW: Array Aufteilung

    Naja, das Array hat ja Schlüssel (Key) z.B. ['0'] und wert (value) z.B. 127.0.0.1 Sprich ['key']=>value.
    Nun heißen die keys in dem Falle ja 0, 1, 2 usw. und die möchte ich umbenennen. Das Problem bei der Sache ist, dass das gesamte Array das ich gepostet habe eine value in einem übergeordneten Array ist. Es wird ja einmal mit explode ein Array erzeugt, welches die einzelnen Zeilen in ein Array speichert. Dort sollen die Keys durchnummeriert bleiben. Aber in den untergeordneten values, welche auch Arrays sind, sollen die keys nicht nummeriert sein, sondern Namen haben.
     
  5. #4 17. Oktober 2006
    AW: Array Aufteilung

    Schon klar.
    Erstma grundsätzlich .. $foo[1] dort ist die 1 nicht der key sondern der index. Der Key wird in quotes gesetzt, was in deinem fall aber nicht so ist sonder die indexes sind angegeben.

    Umbenennen ist doch kein problem, einfach noch eine Schleife machen in dem du den array durchgehst wo du das dann komfotabel ändern kannst seh dein problem nicht ..

    FlowFlo
     
  6. #5 17. Oktober 2006
    AW: Array Aufteilung

    Mein Problem ist, dass ich keine Ahnung habe, wie die Schleife aussehen muss, da ich den Befehl nicht kenne, um die indexes umzubenennen und ich keine Ahnung habe, wie ich das aufbauen muss.
     
  7. #6 17. Oktober 2006
    AW: Array Aufteilung

    0_o
    $foo['keyname'] = $foo[1];
    Meinst du das ?

    Code:
    $arrayausneuemnamen = array('first', 'second');
    
    for($i = 0; $i <= count($deinarray); $i++) {
     $deinarray[$arrayausneuemnamen[$i]] = $deinarray[$i];
    }
    
    echo $deinarray['first'];
    
     
  8. #7 17. Oktober 2006
    AW: Array Aufteilung

    Sooo, fast haben wirs. Vielen vielen Dank für deine Mühe!

    Ich werd erstmal an die frische Luft gehen. Vielleicht kann sich das ja noch mal jemand anschauen:

    PHP:
    $buffer  fread ( $this -> fs , 10000 );
                
    $buffer  str_replace ( "\n" , "<br />" , $buffer );
                
    $buffer  str_replace ( "OK" , " " , $buffer );
                
    $buffer  explode  ( "<br />" $buffer );
                
    $i  "0" ;
                
    $meinarray  = array( "p_id" "c_id" "ps" "bs" "pr" "br" "pl" "ping" "logintime" "idletime" "cprivs" "pprivs" "pflags" "ip" "nick" "loginname" );
                while (
    $i  count ( $buffer )- 1 ) {
                    
    $buffer [ $i ] =  explode ( "\t" $buffer [ $i ]);
                    for(
    $j  0 $j  <=  count ( $meinarray )- 1 $j ++) {
                        
    $newarray [ $i ][ $meinarray [ $j ]] =  $buffer [ $i ][ $j ];
                    }
                    
    $i ++;
                }
    Bekomme immernoch die notices:
    Notice: Undefined offset: 1 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 2 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 3 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 4 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 5 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 6 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 7 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 8 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 9 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 10 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 11 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 12 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 13 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 14 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Notice: Undefined offset: 15 in C:\Software\Internet\WebServer\xampp\htdocs\entwicklung\class\neu.php on line 70

    Warum weiß ich nicht.
     

  9. Videos zum Thema
Die Seite wird geladen...
Similar Threads - PHP Array Aufteilung
  1. Antworten:
    1
    Aufrufe:
    493
  2. PHP Insert Problem: Array

    leex , 17. September 2013 , im Forum: Webentwicklung
    Antworten:
    7
    Aufrufe:
    800
  3. Antworten:
    4
    Aufrufe:
    998
  4. Antworten:
    3
    Aufrufe:
    923
  5. Antworten:
    3
    Aufrufe:
    1.026
  • Annonce

  • Annonce