[PHP] Arrays...

Dieses Thema im Forum "Webentwicklung" wurde erstellt von GaYlORd, 14. Januar 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 14. Januar 2008
    Arrays...

    Hi!

    Hab folgendes:

    PHP:
    $erledigt  nein ;
    $art  $_REQUEST [ "ware" ];
    $anz  $_REQUEST [ "anzahl" ];
    $user_id  $_SESSION [ "user_id" ];
    $preis  $_REQUEST [ "preis" ] *  $anz ;
    $alte  $_REQUEST [ "alte" ];
    $gewicht  $_REQUEST [ "gewicht" ];

    $artikel [ 1 ][ 'artnummer' ] =  $art ;
    $artikel [ 1 ][ 'anz' ] =  $anz ;
    $artikel [ 1 ][ 'preis' ] =  $preis ;
    $artikel [ 1 ][ 'gewicht' ] =  $gewicht ;
    $artikel [ 1 ][ 'alte' ] =  $alte ;
    $_SESSION [ 'wk' ] =  $artikel ;

    foreach(
    $_SESSION [ 'wk' ][ 1 ] as  $wk )
    {
    echo 
    $wk ;
    echo 
    "<br />" ;
    }
    ausgabe is:
    PHP:
    382615
    1
    188.95
    98
    N
    so soll die ausgabe auch sein!
    Problem is jetzt.

    Kann ich das [1] automatisch hochzählen lassen?
    Ich möchte das ganze als Warenkorb verwenden.
    Artikel A wird hinzugefügt gespeichert in der Session bzw. array werden
    dann die werte von oben. Das ganze funzt aber nur wenn ich nur 1 artikel hinzufüge!
    Beim zweiten wird ja der erste ersetzt.
    Kann ich das [1] irgendwie variabel machen?

    gruß
    gl
     
  2. 14. Januar 2008
    AW: Arrays...

    Du willst den ersten Schlüssel hochzählen?

    PHP:
    <? php
      $iNext 
    count ( $artikel );
    ?>
     
  3. 14. Januar 2008
    AW: Arrays...

    vorher ne kleine anmerkung:
    die erste zeile gehört so:
    PHP:
    $erledigt  'nein' ;
    oder
    PHP:
    $erledigt  false ;
    oder
    PHP:
    $erledigt  0 ;
    so, zum problem: warum nicht einfach noch eine äußere foreach schleife?
     
  4. 14. Januar 2008
    AW: Arrays...

    joa, das mit "nein" is klar!
    War ich schlampig, als ichs hier reingeschrieben hab!

    zur foreach schleife:
    ne, mir gehts ja ums speichern nicht ums ausgeben.
    Ich hab auf seite A den einen artikel (speichern als array in der session) und
    auf der nächsten is ein weiterer artikel und der soll auch als array in die selbe
    session!

    @MakenX: wenn ich inext ausgeb, kommt immer 1 raus.

    Gibt es eine möglichkeit den letzten Wert, also hier [1], auszulesen?


    gruß
    gl
     
  5. 14. Januar 2008
    AW: Arrays...

    PHP:
    $last  count ( $array )- 1 ;
    print_r ( $array [ $last ]);
    oder
    PHP:
    $last  end ( $array );
    print_r ( $last );
     
  6. 14. Januar 2008
    AW: Arrays...

    count() würde dir immer den nächsten Key ausgeben, wenn du fortlaufende Nummer haben willst, denn Element 1, hat den Key 0, letztes Element hat wie Murdoc schon sagte!
     
  7. 14. Januar 2008
    AW: Arrays...

    nicht, das letzte was hinzugefügt wurde.

    Brauch halt ne Zahl. Wenn das erste Array bei 4 is, soll der nächste den wert 5 erhalten.
    Also so:
    PHP:
    $artikel [ 1 ][ 'artnummer' ] =  $art ;
    $artikel [ 1 ][ 'anz' ] =  $anz ;
    $artikel [ 1 ][ 'preis' ] =  $preis ;
    $artikel [ 1 ][ 'gewicht' ] =  $gewicht ;
    $artikel [ 1 ][ 'alte' ] =  $alte ;
    $artikel [ 2 ][ 'artnummer' ] =  $art ;
    $artikel [ 2 ][ 'anz' ] =  $anz ;
    $artikel [ 2 ][ 'preis' ] =  $preis ;
    $artikel [ 2 ][ 'gewicht' ] =  $gewicht ;
    $artikel [ 2 ][ 'alte' ] =  $alte ;

    Und ich möchte jtezt das "2" ausgegeben wird.

    Dann kann ich danach 1 zur 2 hinzuzählen = 3 und
    ich hab den nächsten, etc...!

    gruß
    gl
     
  8. 14. Januar 2008
    AW: Arrays...

    Wenn das Array bei 4 ist, bekommst du doch mit count() die 5 und kannst sofort weitermachen, nix anderes sage ich die ganze Zeit ... und wenn du halt den aktuellen key wissen willst, count - 1, oder max() von array_keys() etc .... eigentlich haste jetzt so gut wie alles!
     
  9. 14. Januar 2008
    AW: Arrays...

    hmm, dann mach ich was andres falsch^^
    weil der gibt mir immer 1 zurück.

    PHP:
    if(!isset( $_SESSION [ 'wk' ]))
    {
    $i  0 ;
    }
    else
    {
        
    $i  count ( $_SESSION [ 'wk' ]);
        echo 
    $i ;   // Ausgabe is immer 1
        
    $i  $i + 1 ;
        echo 
    "<br />" ;
    }

    $artikel [ $i ][ 'artnummer' ] =  $art ;
    $artikel [ $i ][ 'anz' ] =  $anz ;
    $artikel [ $i ][ 'preis' ] =  $preis ;
    $artikel [ $i ][ 'gewicht' ] =  $gewicht ;
    $artikel [ $i ][ 'alte' ] =  $alte ;
    $_SESSION [ 'wk' ] =  $artikel ;

    print_r  $artikel  );  // Ausgabe immer nur das eine Array!
    }
     
  10. 14. Januar 2008
    AW: Arrays...

    PHP:
    $arr  = array();
    $arr [] =  'foo' //item 0
    $arr [] =  'bar' //item 1
    print  $arr [ 0 ];  //foo
    print  $arr [ 1 ];  //bar
    ohne ne angabe erhöht sich der array automatisch

    PHP:
    $arr  = array();
    $arr [] = array(
        
    'artnummer'  =>  $art ,
        
    'anz'  =>  $anz ,
        
    'preis'  =>  $preis ,
        
    'gewicht'  =>  $gewicht ,
        
    'alte'  =>  $alte
    );
     
  11. 14. Januar 2008
    AW: Arrays...

    ja, das schon.
    aber da erhöht sich das array ja für alles einzeln um eins!
    PHP:
    $artikel [ 1 ][ 'artnummer' ] =  $art ;
    $artikel [ 1 ][ 'anz' ] =  $anz ;
    $artikel [ 1 ][ 'preis' ] =  $preis ;
    $artikel [ 1 ][ 'gewicht' ] =  $gewicht ;
    $artikel [ 1 ][ 'alte' ] =  $alte
    alle 1 haben.
    Das Wäre dann Artikel 1 im Warenkorb.

    Dann surf ich weiter und will noch einen Artikel.

    und da soll alles von dem artikel auf [2]. Und der alte soll immer noch [1] haben!

    gruß
    gl
     
  12. 14. Januar 2008
    AW: Arrays...

    juhuu!
    danke

    bw, geht nimmer, trotzdem danke!

    gruß
    gl
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.