我有一个脚本可以创建一个包含大约40,000个条目的数组,除了服务器的内存外,PHP数组没有限制...
然而,当尝试将大约40,000个条目的数组内插到字符串中时,PHP函数implode()
根本不输出任何内容。每个数组条目都有一个大约有一个Z字符的句子。没有内存错误,根本没有错误!
任何人都可以证实吗?
我不确定是否可以发布示例!
编辑(2013-06-03):
我可以确认PHP内存限制设置为-1,PHP错误设置为E_ALL。那里没有错误,根本没有输出。 这似乎是某种PHP的错误。
我使用echo implode("<br>\n", $myLogArr);
没有错误或输出任何内容,我通过使用foreach ($myLogArr as $line) echo $line."<br>\n";
答案 0 :(得分:1)
以下工作正常 - 有50,000个条目。
<?php
$arr = array();
for ($i = 0; $i < 50000; $i++) {
$arr[] = str_shuffle('This sentance is of average length, which The Internet says is about 14.2 words.');
}
echo implode(PHP_EOL, $arr);
我建议增加error_reporting并尝试进一步调试。
安东尼。
答案 1 :(得分:0)
将memory_limit设置为-1然后在try catch块中执行脚本
答案 2 :(得分:0)
$string = str_repeat("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,",1000000);
$array = explode(",", $string);
var_dump(sizeof($array), strlen(implode(",", $array)));
输出:
int 1000001
int 53000000
OP,你能否展示你的代码?