我正在写一个我打电话的PHP脚本
$lines = file('base_list.txt');
将文件分成数组.该文件中有超过100,000行,应该是数组中的100,000个元素,但是当我运行时
print_r($lines); exit;
该数组只包含7280个元素.
所以我很好奇,WTF?数组可以拥有的密钥数量是否有限制?我在本地运行这款双核2.0Ghz,配备2GB内存(Vista和IIS); 所以我有点困惑4MB文件如何抛出这样的结果.
编辑:我可能应该提到我之前在php.ini中也将memory_limit设置为512MB.
达里尔海因,
是的,错误日志中没有任何内容.我甚至增加了错误报告,但仍与print_r()无关.
回应杰伊:我跑了
echo count($lines);
我得到105,546的结果但仍然print_r()只显示7280.
按照Rob Walker的建议,我循环遍历数组中的所有元素,它实际上包含了所有结果.这让我相信问题在于print_r()本身而不是数组大小的限制.
另一个奇怪的事情是我在我的一个REHL服务器上尝试了它,结果是应该的.现在我不想把它归咎于Windows/IIS,但你去了.
考虑到上述情况,我认为这个问题应该重新命名,因为它不再与数组相关,而是print_r.