Hallo!
Versuche inzwischen fast verzweifelt einen Array an einen bestehenden Mehrdimensionalen Array anzuhängen, Problem:
es wird immer ein und derselbe Array einfach überschrieben! Und zwar möchte ich einen mehrdimensionalen Array im Session-Array speichern. ich speichere den Array Warenkorb in der Session, in dem Array Warenkorb speichere ich wiederum jeweils einen Array pro Artikel. Jetzt will ich mit folgender Funktion einen neuen Artikel hinzufügen, aber leider überschreibe ich immer nun ein und denselben Artikel:
function neu($beschreibung,$preis) {
if (!$_SESSION["warenkorb"]){
$warenkorb = array();}
else {
$warenkorb = $_SESSION["warenkorb"];
}
$neuer_artikel = array ( 'Beschreibung' => $beschreibung,
'Preis' => $preis,
'Anzahl' => '1');
$warenkorb[] = $neuer_artikel;
$_SESSION["warenkorb"] = $warenkorb;
}
echo var_dump($_SESSION["warenkorb"]); gibt mir folgendes aus:
array(1) { [0]=> array(3) { ["Beschreibung"]=> string(12) "Bohrmaschine" ["Preis"]=> string(3) "115" ["Anzahl"]=> string(1) "1" } }
Ich habe es auch mit array_push() probiert - dasselbe.
Verstehe auch nicht, warum ich die obige if-Abfrage brauche, aber ohne (statt if-Abfrage nur: $warenkorb = $_SESSION["warenkorb"];) bekomme ich beim ersten Veruch einen Artikel anzuhängen folgendes Problem:
Warning: Cannot use a scalar value as an array in /kunden/knet-systems.de/webseite/test/klasse.php on line 22
object(warenkorb)(0) { }
Das steht in line 22: $warenkorb[] = $neuer_artikel;
Irgendwie werde ich mit Arrays noch nicht so richtig warm, ist Euch wahrscheinlich ganz klar was ich da falsch mache, ich bin aber irgendwie mit meinem Latein am Ende :-(
Viele Grüße
Andreas