php中json_encode输出值不一样。

紫川_444868
  • 181

用print_r打印出来的数组是这样的:

Array
(
    [total] => 8
    [rows] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [email] => 379395979@qq.com
                    [activated] => 1
                    [username] => yuan
                    [created_at] => 2014-03-04 02:30:43

为什么使用json_encode输出之后其他的数据都好的,就只有activated这个字段会把1的变成true,0的变成false,有人遇到过这个情况吗?该怎么解决才能输出原始的值。。。
框架是laravel4

json值像这样:

{"total":8,"rows":[{"id":1,"email":"379395979@qq.com","activated":true,"activated_at":null,"last_login":"2014-04-03 05:41:30","username":"yuan","created_at":"2014-03-04 02:30:43"}
回复
阅读 6.3k
2 个回答
✓ 已被采纳

使用 var_dump 查看数据源头的类型,LZ 打印结果不同,问题出在数据源,如果数据表没有问题,应该是从数据库获取数据出来的数据格式有问题。

Deloz
  • 1k

json_encode没有改变bool的值
..
刚才理解错误了
测试了一下,没发现json_encode有改变...
Laravel源码也没找着转换的地方..

宣传栏