我正在尝试使用PHP解析一些XML,以获取我的农业模拟器2013专用服务器的状态(请不要笑)。 但是,使用 for 循环获取每个可能玩家的状态不起作用。
我的代码如下。
<?php
$info = simplexml_load_file('http://74.80.133.251:9090/feed/dedicated-server-stats.xml?code=049cb316c7d5137f7f285101d9657f13');
$playerCount = $info->Slots['capacity'];
echo $info->Slots['numUsed'];
echo " slots out of ";
echo $info->Slots['capacity'];
echo " used.<br>";
echo "<ol>";
for ($1=0; $i<$playerCount; $i++)
{
echo "<li>";
echo $info->Slots-Player[$i]['isUsed'];
echo "</li>";
}
echo "</ol><br>";
?>
源XML位于http://74.80.133.251:9090/feed/dedicated-server-stats.xml?code=049cb316c7d5137f7f285101d9657f13
,我知道在C#中解析它相当简单,但我不太了解PHP。 有没有人看到我缺少的东西(可能很简单)或一些可以尝试的想法?
错误消息具有很强的描述性。找到数字而不是变量
修复 for 循环中的拼写错误。你有$1
而不是$i
for ($1=0; $i<$playerCount; $i++)
应该是
for ($i=0; $i<$playerCount; $i++)
// ^ 1 should actually be i
我相信你有两个错误
for ($i=0; $i<$playerCount; $i++)
{
echo "<li>";
echo $info->Slots->Player[$i]['isUsed'];
echo "</li>";
}
你有 1 而不是 i,你错过了一个回声中的>
好的,更新和工作代码如下。
<?php
$info = simplexml_load_file('http://74.80.133.251:9090/feed/dedicated-server-stats.xml?code=049cb316c7d5137f7f285101d9657f13');
echo "$" . $info['money'] . "<br>";
echo $info['mapName'] . "<br>";
echo $info->Slots['numUsed'];
echo " slots out of ";
echo $info->Slots['capacity'];
echo " used.<br>";
echo "<ol>";
foreach ($info->Slots->children() as $player)
{
echo "<li>" . $player['isUsed'] . "</li><br>";
}
echo "</ol><br><ol>";
foreach ($info->Vehicles->children() as $vehicle)
{
echo "<li>" . $vehicle['name'] . "</li><br>";
}
echo "</ol><br>";
?>
给了我我关心的漂亮的简单状态页面。 减去一些我稍后会处理的格式。