Mirando y mirando por internet, veo que no hay solución. Lo que no se es por qué SOAP lo envía así
Como haciendo un foreach sí que muestra bien los resultados, la solución que tomaré será crear un nuevo array para que el indice "1" lo guarde como integer. Para quién le interese. Aunque no es nada de otro mundo.
Código PHP:
foreach ($array as $clave=>$valor)
{
$array_nuevo[$clave]=$valor;
if(is_array($valor))
{
foreach ($valor as $clave2=>$valor2)
{
$array_resultado[$clave][$clave2]=$valor2;
}
}
}
El problema es que si no tenéis el array devuelto por SOAP no podéis hacer pruebas.
Gracias de todos modos.
Si alguien sabe resolver lo de SOAP que me diga,