• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Foreach auf 2D Array

Tronjer

Senior HTML'ler
Sieht jemand den Fehler? Ich habe wohl heute einen Tunnelblick. :(

Ich will hier mit einem zweidimensionalen Array eine <select> Liste bauen, aber schaffe es nicht, die erste Dimension ($sorte) auszugeben. Anstatt von 'Sorte_A' und 'Sorte_B' erhalte ich als Ausgabe nur 'Array' und die Meldung: Notice: "Array to string conversion".

PHP:
$obst = array(
	'Sorte_A' => array(
		'bi' => 'Birne',
		'ki' => 'Kirsche',
		'ap' => 'Apfel'
	),
	'Sorte_B' => array(
		'bn' => 'Banane',
		'or' => 'Orange',
		'pf' => 'Pfirsich'
	)
);

// HTML
<select name="obst">
<?php foreach ($obst as $sorte) { ?>
	<optgroup label="<?php echo $sorte; ?>">
		<?php foreach ($sorte as $short => $name) { ?>
			<option value="<?php echo $short?>"><?php echo $name; ?></option>
		<?php } ?>
	</optgroup>	
<?php } ?>
</select>
 
PHP:
<?php
$obst = array(
    'Sorte_A' => array(
        'bi' => 'Birne',
        'ki' => 'Kirsche',
        'ap' => 'Apfel'
    ),
    'Sorte_B' => array(
        'bn' => 'Banane',
        'or' => 'Orange',
        'pf' => 'Pfirsich'
    )
);

// HTML
<select name="obst">
<?php foreach ($obst as $sorte => $fruechte) { ?>
    <optgroup label="<?php echo $sorte; ?>">
        <?php foreach ($fruechte as $short => $name) { ?>
            <option value="<?php echo $short?>"><?php echo $name; ?></option>
        <?php } ?>
    </optgroup>    
<?php } ?>
</select>
 
Zurück
Oben