Hola betodaniel61,
el problema reside en la forma de usar el foreach.
El foreach tiene dos formas de usarse...
Primera forma:
Código PHP:
$matriz = array("a"=>1, "b"=>2, "c"=>3);
foreach($matriz as $valor)
{
echo $valor; // imprimira 1, 2, 3
echo $valor["a"]; // imprimira null, null, null
}
Si te fijas la variable $valor en cada vuelta vale 1, 2 o 3, es decir los valores y no las claves.
La segunda forma de usar foreach es...
Código PHP:
$matriz = array("a"=>1, "b"=>2, "c"=>3);
foreach($matriz as $clave => $valor)
{
echo $valor; // imprimira 1, 2, 3
echo $valor["a"]; // imprimira null, null, null
echo $matriz["a"]; // imprimira 1, 1, 1
echo $matriz[$clave]; // imprimira 1,2,3
}
Espero que estos ejemplos te hayan ayudado a comprender un poco mas como funciona el foreach.
Si te queda alguna duda preguntalo!