PHP: fonte d' (array) et retour-type: tableau n'est pas la même chose?

J'ai le problème suivant en PHP:

print_r() dit que c'est la même chose, gettype() dit même type, mais la dernière sortie fonctionne pas pour les deux cas, bien qu'ils doivent être la même!

Cela semble très étrange pour moi.

code et de sortie:

$docdatau = get_object_vars(json_decode($docdata));
$docdatau2 = (array)json_decode($docdata);

echo "1\n";
echo gettype($docdatau);
echo "\n";
echo "--------------------------------------\n";
print_r($docdatau);
echo "--------------------------------------\n";

echo "2\n";
echo gettype($docdatau2);
echo "\n";
echo "--------------------------------------\n";
print_r($docdatau2);

echo "out1\n";
echo "--------------------------------------\n";
print_r($docdatau[0]);
echo "out2\n";
echo "--------------------------------------\n";
print_r($docdatau2[0]);

La sortie:

1
array
--------------------------------------
Array
(

    [0] => stdClass Object
        (
            [produkt] => Produkt 2
            [laufzeit] => 24
            [addtext] => sdsd
            [provision] => 39
        )

    [1] => stdClass Object
        (
            [produkt] => Produkt 1
            [laufzeit] => 
            [addtext] => 
            [provision] => 0
        )

)
--------------------------------------
2
array
--------------------------------------

Array
(

    [0] => stdClass Object
        (
            [produkt] => Produkt 2
            [laufzeit] => 24
            [addtext] => sdsd
            [provision] => 39
        )

    [1] => stdClass Object
        (
            [produkt] => Produkt 1
            [laufzeit] => 
            [addtext] => 
            [provision] => 0
        )

)
out1
--------------------------------------
stdClass Object
(
    [produkt] => Produkt 2
    [laufzeit] => 24
    [addtext] => sdsd
    [provision] => 39
)
out2
--------------------------------------
--------------------------------------

out1 et out2 devrait produire les mêmes résultats, mais ne le font pas.

Peut-être quelqu'un a une astuce pour moi?

Le code que vous avez posté ne peut pas correspondre à la donnée de sortie. La sortie se termine avec deux "------" les lignes, mais le code affiche seulement l'un après "out2". Lorsque vous affichez des exemples de code pour bizarre ce type de problèmes, merci de ne pas de les éditer et de prendre soin de reproduire le exact le code qui vous donne le résultat indiqué.
Est le rapport d'erreurs? Pas de sortie à tous pour print_r devrait normalement être accompagné par une erreur.
ok la prochaine fois je vais le faire. le code est inédite à l'exception de la dernière ligne de tirets.. @deceze; les rapports d'Erreurs, dit <b>Avis</b>: Undefined offset: 0 sur la ligne xy --> la ligne est: (print_r($docdatau2[0]);)

OriginalL'auteur Andreas K. | 2010-08-20