Tom: Variablen in Array ansprechen oder zusammenpacken?

Beitrag lesen

Hello Maxi,

In dem Beispiel Array steht 2 mal die Art_Nr=1.

array("Art_Nr=1&anzahl=1","Art_Nr=10&anzahl=2","Art_Nr=1&anzahl=2");

Nun möchte ich die beiden Postionen in eine Position schreiben

Deine Array-Konstruktion ist schon falsch aber mindestens ungünstig.
Wenn Du das nicht unbedingt so übernehmen musst dann bau Dir ein anderes Array, in dem die Artikelnummer der Key ist und die Menge als Value drinsteht.

Löse als erstes mal das Array auf:

<?php  ### warenkorb.php ###

error_reporting(E_ALL); # only for Debug

$_doof = array
("Art_Nr=1&anzahl=1","Art_Nr=10&anzahl=2","Art_Nr=1&anzahl=2");

$_warenkorb = array();

foreach ($_doof as $artikel)     # "Art_Nr=1&anzahl=1"
 {
   $_artikel = array();

parse_str($artikel,$_artikel);

echo "<pre>";
   print_r($_artikel);
   echo "</pre>";

die auskommentierten braucht man nur, wenn Notices eingeschalet sind

#   if (isset($_warenkorb[$_artikel["Art_Nr"]]))
#   {
     $_warenkorb[$_artikel["Art_Nr"]] += $_artikel["anzahl"];
#   }
#   else
#   {
#     $_warenkorb[$_artikel["Art_Nr"]] = $_artikel["anzahl"];
#   }
 }

echo "<hr>";
 echo "<pre>";
 print_r($_warenkorb);
 echo "</pre>";

?>

Ich hoffe, Du steigst durch.
Ich wollte das "mal eben schnell" hinschreiben und hatte schon ganz viele explode() drin, da fiel mir ein, dass es ja parse_str() gibt...

Na, so verrückte Datenweitergaben mache ich auch nicht. Aber wer weiss schon, was Du da gerade aus-hackst. ;-)

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen