# Array auslesen



## markberg (12. März 2006)

Hallo,
versuche als neuling ein array auszulesen das aus einem warenkorbsystem kommt.


```
if (isset($_SESSION['warenkorb'])) {
    $myCart = $_SESSION['warenkorb'];
}
else {
    $myCart = array();
}

$anzahlProdukte = sizeOf($myCart['items']);

$myCart['items'][$anzahlProdukte]['artikel'] = $_REQUEST['artikel'];
$myCart['items'][$anzahlProdukte]['bestellnummer'] = $_REQUEST['bestellnummer'];

$_SESSION['warenkorb'] = $myCart;
```

Aber irgendwie blicke ich da nicht durch, kann mir da vielleicht jemand helfen, bitte 

Habe es so probiert, haut aber nicht hin...

```
foreach(warenkorb as $artikel)
{
echo $artikel['artikel'];
echo $artikel['bestellnummer'];					
echo "<br>";
}
```


----------



## birnkammer (12. März 2006)

markberg hat gesagt.:
			
		

> ```
> foreach(warenkorb as $artikel)
> {
> echo $artikel['artikel'];
> ...


Da fehlt vor warenkorb ein $:

```
foreach($warenkorb as $artikel)
{
echo $artikel['artikel'];
echo $artikel['bestellnummer'];                    
echo "<br>";
}
```


----------



## markberg (12. März 2006)

Sorry, hier vergessen... Aber auch so erhalte ich die Meldung:

Invalid argument supplied for foreach() in ... zeile 156.

im array sind auch daten, aber irgendwie bekomme ich die nicht ausgelesen? habe mich nun schon an einigen tutorials gehalten, aber irgendwie klappt's net...


----------



## birnkammer (12. März 2006)

Gib mal das Array mit var_dump() oder print_r() aus.


----------



## markberg (12. März 2006)

Danke erstmal, aber auch schon probiert... glaube bin echt zu doof... sonst ging das einwandfrei!


----------



## birnkammer (12. März 2006)

> Invalid argument supplied for foreach()


Diese Fehlermelung sagt eigentlich, dass foreache in falsches Argument geliefert wird, z.B weil es kein Array ist.
Ah jetzt ist es mir AUFGEFALLEN.


> ```
> $_SESSION['warenkorb'] = $myCart;
> ```


Aber in der foreach-Schleife:


> ```
> foreach($warenkorb as $artikel)
> {
> echo $artikel['artikel'];
> ...


Probier es mal so:

```
foreach($_SESSION['warenkorb'] as $artikel)
{
echo $artikel['artikel'];
echo $artikel['bestellnummer'];                    
echo "<br>";
}
```


----------



## markberg (13. März 2006)

auch dazu erstmal besten dank, zumindest keine Fehlermeldung aber angezeigt wird hier gar nichts :-( ich werde bald wahnsinnig


----------



## birnkammer (13. März 2006)

Ist die Session eigentlich mit session_start() gestartet?


----------



## markberg (13. März 2006)

Ja klar, wenn ich mir die anzahlProdukte per echo ausgeben lasse, zählt diese ja auch hoch, sprich es wird immer eine Bestellung offensichtlich eingelesen...


----------



## wolmarkle (13. November 2009)

Hallo, ich habe da auch mal eine kleine Frage.... wie kann ich meine Daten aus dem Array aufschlüsseln?

Hier mal ein kurzer Auszug, hoffe das das reicht.

Auszug aus Anfrage.htm
<select name="geschaefstversicherung[]" size="9" multiple="">
<option value="gvs1">Geschäftsinhaltsversicherung</option>
<option value="gvs2">Betriebshaftpflichtversicherung</option>
<option value="gvs3">Elektronikversicherung</option>
<option value="gvs4">Rechtschutzversicherung</option>

Auszug aus Anfrage.php
<?php
$geschaefstversicherung = @$_POST["geschaefstversicherung"];
$inhalt ="Geschäftsversicherung: $geschaefstversicherung\n

# E-Mails senden.
@mail($an,$betreff,$text,"From: ".$email);
@mail($email,"Bestätigung",$inhalt,"From: ".$an);

In der Mail bekomme ich unter Geschäftsversicherung: nur Array angezeigt.

Wie kann ich aber das Array aufschlüsseln, so das mir entweder zwei oder 3 der ausgewählten Versicherungen angezeigt werden?

Vielen Dank schonmal


----------



## Parantatatam (13. November 2009)

Möglicherweise mit implode():

```
<?php
$geschaefstversicherung = @$_POST['geschaefstversicherung'];
$inhalt = 'Geschäftsversicherung: '.implode(', ', $geschaefstversicherung)."\n";

# E-Mails senden.
@mail($an, $betreff, $text, 'From: '.$email);
@mail($email, 'Bestätigung', $inhalt, 'From: '.$an);
?>
```


----------



## wmk (15. November 2009)

vielen lieben Dank, hat mir supi geholfen


----------

