我目前在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.我没有看到(即使在多次查看之后)我犯下的(最可能的)愚蠢的错误。
答案 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++) {