我可以使用以下命令创建一个稀疏的 php 数组(或映射):
$myarray = array(10=>'hi','test20'=>'howdy');
我想将其序列化/反序列化为 JSON。我可以使用以下命令对其进行序列化:
$json = json_encode($myarray);
这导致字符串{"10":"hi","test20":"howdy"}
。但是,当我反序列化并使用以下命令将其转换为数组时:
$mynewarray = (array)json_decode($json);
我似乎丢失了任何带有无效 php 标识符的键的映射。也就是说,mynewarray
有 mapping 'test20'=>'howdy'
,但没有10=>'hi'
nor '10'=>'hi'
。
json_encode
有没有办法在使用标准/函数从 json 转换和返回时保留 php 映射中的数字键json_decode
?
(我使用的是 PHP 版本 5.2.10-2ubuntu6.4。)