V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
s609926202
V2EX  ›  问与答

PHP 数组异常,不正常,有哪些可能的原因?

  •  
  •   s609926202 · 2020-10-10 19:02:14 +08:00 · 857 次点击
    这是一个创建于 1506 天前的主题,其中的信息可能已经有所发展或是发生改变。

    $arr = ...; $arr 是一个数据库查询结果数组,通过 json_encode 返回给客户端。

    目前的问题是,$arr 不能返回,状态码为 200,但是没有数据。以下是测试结果:

    1. 通过 json_encode($arr)为 false
    2. 通过 is_array($arr) 为 1
    3. 通过 print_r($arr) 和 var_dump($arr)可以打印完整的数组。
    4. 通过 array_slice($arr, 0, 2) 不能切割,返回 false
    5. 通过$arr[0]$arr[200]可以正常获取数组对象

    $arr 总共 355 个数组对象,总大小也就 600 多 kb,所以不应该是数组过大导致的吧(不太确定)? nginx 及 php 错误日期也没有产生报错信息,请问会是什么原因导致的呢?

    第 1 条附言  ·  2020-10-10 20:43:58 +08:00

    找到原因了:数组里有个对数组值是NaN,导致无法解析了

    2 条回复    2020-10-10 20:14:44 +08:00
    lujjjh
        1
    lujjjh  
       2020-10-10 20:02:54 +08:00 via iPhone
    shawn4me
        2
    shawn4me  
       2020-10-10 20:14:44 +08:00 via Android
    数组对象应该是要先序列化,对象好像不能直接 json 编码?你试试先序列化。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:15 · PVG 10:15 · LAX 18:15 · JFK 21:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.