PHP - 简单的循环不工作?没有错误返回

时间:2014-04-10 11:49:08

标签: php for-loop

我目前在for循环中打印一些简单的测试语句时遇到了麻烦。

<?php
include('../connstr.inc');

$email=$_REQUEST["email"];
$datafile=$_REQUEST["datafile"];
$email_safe=preg_replace("/[^a-zA-Z]/","_",$email);
$path="../uploaded_data";
$xml = simplexml_load_file("{$path}/{$email_safe}/{$datafile}.xml");

// Retreive data details for specified activity
$lapcount = $xml->Activities->Activity->Lap->count();
echo "LapCount: " . $lapcount;

$totalTime = array(); $distance = array(); $maxSpeed = array();
$calories = array(); $intensity = array(); $trigMethod = array();
echo 'Test1';
// Collect details for each lap
for($x = 0; $x < $lapCount; $x++) {
    echo 'Test2';

    // Find how many trackpoints exist for specified lap
    $trackPointCount = $xml->Activities->Activity->Lap[$x]->Track->Trackpoint->count();
    echo 'Test3';
    echo "<br /> Lap {$x} TrackP Count: " . $trackPointCount;
    echo 'Test4';
}

当我运行它时,只打印'Test1'和'lapCount'。 for循环中的任何内容都不会运行。也没有错误返回。 $ x肯定会低于$ lapCount,因为这只是3.我没有看到(即使在多次查看之后)我犯下的(最可能的)愚蠢的错误。

3 个答案:

答案 0 :(得分:0)

您的代码存在以下问题:

您将lapcount声明为$ lapcount,但尝试将其用作$ lapCount (注意“C”的大小写)

确保输入此变量的所有用法完全相同,一切正常

修改: 好像你在我发布我的答案时发现了这个

答案 1 :(得分:0)

最初您使用的是变量名$lapcount,但在最后一个for循环中,您使用的是$lapCount,这就是您没有获得任何值的原因。在最后一个for循环中也使用$ lapcount。

for($x = 0; $x < $lapcount; $x++) {                // use $lapcount
    echo 'Test2';
    $trackPointCount = $xml->Activities->Activity->Lap[$x]->Track->Trackpoint->count();
    echo 'Test3';
    echo "<br /> Lap {$x} TrackP Count: " . $trackPointCount;
    echo 'Test4';
}

答案 2 :(得分:0)

在这里,你的var的名字是$ lapcount而没有&#39; C&#39;小写:

// Retreive data details for specified activity
$lapcount = $xml->Activities->Activity->Lap->count();
echo "LapCount: " . $lapcount;

但是在这里,你使用&#39; C&#39;大写,$ lapCount:

for($x = 0; $x < $lapCount; $x++) {