【发布时间】:2011-01-29 21:28:30
【问题描述】:
我可以使用以下命令创建一个稀疏的 php 数组(或映射):
$myarray = array(10=>'hi','test20'=>'howdy');
我想将其序列化/反序列化为 JSON。我可以使用以下命令对其进行序列化:
$json = json_encode($myarray);
产生字符串{"10":"hi","test20":"howdy"}。但是,当我反序列化并使用以下命令将其转换为数组时:
$mynewarray = (array)json_decode($json);
我似乎丢失了任何带有无效 php 标识符的键的映射。也就是说,mynewarray 有映射'test20'=>'howdy',但没有10=>'hi' 也没有'10'=>'hi'。
在使用标准json_encode/json_decode 函数与 json 相互转换时,有没有办法在 php 映射中保留数字键?
(我使用的是 PHP 版本 5.2.10-2ubuntu6.4。)
【问题讨论】:
标签: php map json sparse-array