Décoder éparses objet json en php array

Je peux créer un clairsemée tableau php (ou une carte) à l'aide de la commande:

$myarray = array(10=>'hi','test20'=>'howdy');

Je veux sérialiser/désérialiser ce que JSON. Je peux sérialiser l'aide de la commande:

$json = json_encode($myarray);

qui résultats dans la chaîne {"10":"hi","test20":"howdy"}. Cependant, quand je désérialiser cela, et de le jeter dans un tableau à l'aide de la commande:

$mynewarray = (array)json_decode($json);

Je semble perdre tout correspondances avec les touches qui ne sont pas valides php identifiants. C'est, mynewarray a cartographie 'test20'=>'howdy', mais pas 10=>'hi' ni '10'=>'hi'.

Est-il un moyen de préserver les touches numériques dans un php de la carte lors de la conversion et de retour de json à l'aide de la norme json_encode /json_decode fonctions?

(J'utilise la Version de PHP 5.2.10-2ubuntu6.4.)