PHP变量未正确设置/声明/调用?

PHP变量未正确设置/声明/调用?,php,variables,Php,Variables,我有一个PHP脚本的一部分,它的行为对我来说很奇怪。下面的循环从构建数组中获取最高值,该数组是一组随机顺序的整数。它获得了预期的最高值,没有问题 $highest = $builds[0]; for ($i=0; $i < count($builds); $i++) { if ($builds[$i] > $highest) { $highest = $builds[$i]; } } 这最终会超时。Chrome返回“错误101

我有一个PHP脚本的一部分,它的行为对我来说很奇怪。下面的循环从
构建
数组中获取最高值,该数组是一组随机顺序的整数。它获得了预期的最高值,没有问题

$highest = $builds[0];
    for ($i=0; $i < count($builds); $i++) {
        if ($builds[$i] > $highest) {
            $highest = $builds[$i];
    }
}
这最终会超时。Chrome返回“错误101:连接被重置”。 Firefox的回复与之类似,“页面加载时服务器连接被重置。”

我已经试过了,我能说的最好的情况是,
$highest
没有被正确设置或调用

如果我手动分配变量,
file\u get\u html
工作正常并按预期返回数据。 也就是说,如果我让我的脚本看起来像这样

$highest = $builds[0];
    for ($i=0; $i < count($builds); $i++) {
        if ($builds[$i] > $highest) {
            $highest = $builds[$i];
    }
}

$highest = 20;  //I understand the loop is useless because of this
                //but I've been running it to make sure it's not the issue.

$html = file_get_html("http://www.blah.com/builds/" . $highest);
//now this returns data
$highest=$builds[0];
对于($i=0;$i$highest){
$highest=$builds[$i];
}
}
$highest=20//我知道循环是无用的,因为这一点
//但我一直在运行它,以确保它不是问题。
$html=文件\u获取\u html(“http://www.blah.com/builds/“$最高);
//现在返回数据
为什么手动分配变量有效,但在循环中设置变量无效?
我已经输入了
打印
var\u转储
,以确保变量设置正确,并且看起来是正确的。头脑发呆

测试一下,一切似乎都起作用了

$builds = array(10, 5, 6, 9, 22, 54, 33, 72, 9);
$highest = $builds[0];
for ($i=0; $i < count($builds); $i++) {
    if ($builds[$i] > $highest) {
    $highest = $builds[$i];
    }
}

echo $highest;
$builds=array(10,5,6,9,22,54,33,72,9);
$highest=$builds[0];
对于($i=0;$i$highest){
$highest=$builds[$i];
}
}
echo美元最高;

Echoing$highest输出72,这是阵列中的最高数字。什么类型的数组是$builds,$builds数组的var_转储是什么?

对其进行测试后,一切似乎都正常

$builds = array(10, 5, 6, 9, 22, 54, 33, 72, 9);
$highest = $builds[0];
for ($i=0; $i < count($builds); $i++) {
    if ($builds[$i] > $highest) {
    $highest = $builds[$i];
    }
}

echo $highest;
$builds=array(10,5,6,9,22,54,33,72,9);
$highest=$builds[0];
对于($i=0;$i$highest){
$highest=$builds[$i];
}
}
echo美元最高;
Echoing$highest输出72,这是阵列中的最高数字。什么类型的数组是$builds,$builds数组的var_dump是什么?

由于php函数可以接受数组,因此需要一个更简单的版本

$highest=max($builds);
$html = file_get_html("http://www.blah.com/builds/" . $highest);
由于php函数可以接受数组,因此需要一个更简单的版本

$highest=max($builds);
$html = file_get_html("http://www.blah.com/builds/" . $highest);

循环后var_dump($highest)的输出是什么?试试
$highest=intval($highest)在循环之后。@Bernhard-结果是
字符串'20'(长度=2)
@Chris,没有骰子。忘了提一下,我也尝试过使用(字符串)但没有效果。循环后var_dump($highest)的输出是什么?试试
$highest=intval($highest)在循环之后。@Bernhard-结果是
字符串'20'(长度=2)
@Chris,没有骰子。忘了提到我也试过做(字符串)但没有用。$builds var_dump=array(size=18)0=>string'4'(length=1)1=>string'16'(length=2)2=>string'8'(length=1)3=>string'2'(length=1)4=>string'14'(length=2)5=>string'12'(length=2)6=>string'11'(length=2)7=>string'10'(length=2)8=>string'9'(length=1)9=>string'1'(length=1)10=>string'7'(length=1)11=>string'17'(length=2)12=>string'13'(length=2)13=>string'5'(length=1)14=>string'3'(length=1)15=>string'15'(length=2)16=>string'1'(length=1)17=>string'0=>string'0=>string'4'(length=1)1=>string'16'(length=2)2=>string'8'(length=1)3=>string'2'(length=1)4=>string'14'(length=2)5=>string'12'(length=2)6=>string'11'(length=2)7=>string'10'(length=2)8=>string'9'(length=1)9=>string'1'(length=1)10=>string'7'(length=1)11=>string'17'(length=2)12=>string'13'(长度=2)13=>字符串“5”(长度=1)14=>字符串“3”(长度=1)15=>字符串“15”(长度=2)16=>字符串“1”(长度=1)17=>字符串“0”(长度=1)