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

PHP echo 最大长度问题

  •  
  •   Exin · 2015-09-05 22:52:00 +08:00 · 2173 次点击
    这是一个创建于 3190 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <?php
    for ($i=0; $i < 19999; $i++) {
    echo $i;
    }
    ?>

    通过 PHPStorm 调试,输出总长度 80701 ,最后的内容是...18360183611 ,显然输出不完整。

    Google 没找到原因,求解……
    4 条回复    2015-09-06 10:40:12 +08:00
    Exin
        1
    Exin  
    OP
       2015-09-05 23:21:26 +08:00
    研究了一下,
    改变$i < 19999 为 $i<9999 ,输出末尾变成...795079517952 ,长度 30703
    不用 PHPStorm 的话输出是正常的。
    真诡异。
    zakokun
        2
    zakokun  
       2015-09-06 00:34:02 +08:00
    没太明白...为啥末尾是这么大的数字...$i<19999 的话最后输出的不应该是 19998 吗?
    zakokun
        3
    zakokun  
       2015-09-06 00:46:21 +08:00
    @zakokun 看明白了. 这和 php 没啥关系吧,也许是因为超出了 phpstorm 单行字符串限制了呗
    Exin
        4
    Exin  
    OP
       2015-09-06 10:40:12 +08:00
    @zakokun 超出限制的话,为什么一次限制长度为 80701 ,另一次又变成了 30703 ,有时候还会变成 30700 、 16****(记不清),基本上 for 循环判断条件的值越大,这个长度也越大,就像是被截去了一定比例
    非常诡异。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1511 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:09 · PVG 01:09 · LAX 10:09 · JFK 13:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.