$class = array('c1', 'c2', 'c3', 'c4');
$people['c1'] = 'A';
$people['c2'] = 'B';
$people['c3'] = 'C';
$people['c4'] = 'D';
foreach ($class as $key)
{
echo "Name: ".$people[$key]."\n";
}
result :
A
B
C
D
现在我向$ class和$ people添加新的50个值
在某些主机中,但是使用hostpapa.com
循环只运行36次。
从36+开始,有些值为null($ people [$ key] = null)
我不知道为什么。也许设置会限制数组?
注意:Suhosin在此主机上安装
答案 0 :(得分:2)
我的猜测是托管公司可能正在运行称为Suhoshin的PHP的“安全加固”版本。
可能是您的代码中的某些内容触发了Suhoshin的过滤器之一。
无论哪种方式,这听起来像是你需要与托管公司讨论的事情。
答案 1 :(得分:0)
$class = array('c1', 'c2', 'c3', 'c4');
$people[c1] = 'A';
$people[c2] = 'B';
$people[c3] = 'C';
$people[c4] = 'D';
foreach ($class as $key)
{
if(key() > 36) {
break;
}
echo "Name: ".$people[$key]."\n";
我没有测试过这个,但它必须工作。 }
答案 2 :(得分:0)
根据您对foreach语句的处理方式,可能是由于脚本的执行时间限制。
如果你在foreach中为每个循环做相对耗时的事情,这可能很容易累加到几分钟,这可能会遇到php.ini中的执行时间限制。