我正在写一个PHP脚本,我打电话
$lines = file('base_list.txt');
将文件分解成数组.该文件中有十万多行,数组中应该有100,000个元素,但是当我运行时
print_r($lines); exit;
该数组只包含7280个元素.
所以我很好奇,WTF?一个数组的键的数量有限制吗?我在本地运行的双核2.0Ghz与2GB的内存(Vista和IIS虽然);所以我有点困惑,一个4MB的文件如何可以抛出这样的结果.
编辑:
我可能应该提到我以前已经将memory_limit设置为512MB在PHP.ini中.
Darryl Hein,
是的,错误日志中没有什么.我甚至增加了错误报告,仍然与print_r()无关.
回应Jay:
我跑了
echo count($lines);
我得到105,546的结果,但是print_r()只显示7280.
以Rob Walker的建议,我循环了数组中的所有元素,实际上包含了所有的结果.这使我相信问题是print_r()本身,而不是数组大小的限制.
另一个奇怪的是我在其中一台REHL服务器上尝试过,结果是应该的.现在我不想在Windows / IIS上怪这个,但是你走了.
考虑到上述问题,我认为这个问题应该被重新标题,因为它不再与数组相关,而是print_r.
原文地址:https://www.jb51.cc/php/130471.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。