Mehrdimensionale Array auf Seite anzeigen - Fehlermeldung

mkoeni1

Erfahrenes Mitglied
Hallo,

ich habe ein mehrdimensionales Array welches ich gerne auf der Seite per doppelte foreach Schleife ausgeben möchte:
PHP:
$test3 = array(    
            array( "id" => 1, "name" => "Sonstiges"),
            array( "id" => 2, "name" => "Tag der offenen Tür"),
            array( "id" => 3, "name" => "Kurse/Seminare"),
            array( "id" => 4, "name" => "Märkte"),
            array( "id" => 5, "name" => "Weitere Gottesdienste"),
            array( "id" => 6, "name" => "Parteien"),
            array( "id" => 7, "name" => "Evang. Gottesdienste"),
            array( "id" => 8, "name" => "Kath. Gottesdienste"),
            array( "id" => 9, "name" => "Messen")
);
Meine Ausgabe sieht so aus:
PHP:
foreach ($test3 as $v => $id){
    foreach($v as $uv => $name) {
    echo "".$name. "<br>";
    }
}
Er gibt zwar das Array richtig auf der Browserseite aus, jedoch kann ich in der error.log mehrfach lesen:
Code:
PHP Warning:  Invalid argument supplied for foreach() in /var/www/testing/foreach.php on line 152

An was kann das liegen?

Gruß und Vielen Dank
Matthias
 
Wozu 2 Schleifen?
PHP:
$elemente = count( $test3 );
for( $i = 0; $i < $elemente; $i++ )
{
    echo $test3[$i]['id']. ' => ' .$test3[$i]['name']. '<br />';
}

Code:
1 => Sonstiges
2 => Tag der offenen Tür
3 => Kurse/Seminare
4 => Märkte
5 => Weitere Gottesdienste
6 => Parteien
7 => Evang. Gottesdienste
8 => Kath. Gottesdienste
9 => Messen
 
PHP:
foreach ($test3 as $array)
{
    echo $array['name']. "<br>";
}

for-Schleifen finde ich unnötig bei Arrays - die Handhabung ist meines erachtens komplizierter.
 
for-Schleifen sind meiner Meinung nach schneller,
da sie nicht mit einer Kopie des Arrays arbeitet.
foreach ist für mich deshalb nur in Templates interessant,
weil man fast keine Logik dafür benötigt.

Naja, jeder wie er mag :)
 
Danke für die schnellen Antworten.
Das sind zwei gute Möglichkeiten, ohne Fehlermeldungen im log.


Danke und Gruß
Matthias
 
Zurück