【原创】关于PHP之json_encode()操作数组时容易踩的一个坑

blogdaren 2019-06-14 1评论 391人次

问题背景:

给定一个数组:[100, 200, 300],我们希望 json_encode() 以后返回如下结构的json对象:

{"0":100,"1":200,"2":300}

举个栗子:

<?php
$input = array(
    '0' =>  100,
    '1' =>  200,
    '2' =>  300,
);

var_dump(json_encode($input));

运行结果:

string(13) "[100,200,300]"  //可以看到这并不是我们期望的结果

解决方案:

<?php
$input = array(
    '0' =>  100,
    '1' =>  200,
    '2' =>  300,
);

var_dump(json_encode((object)$input));

问题总结:

对于关联索引,这个不受影响,但是对于数字索引,一定要注意类型转换。

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】关于PHP之json_encode()操作数组时容易踩的一个坑

用户评论:

2019-06-18 12:28
的确坑

发表评论:

您的昵称:
电子邮件:
个人主页: