php嵌套数组的问题
基本上,我正在使用这个库,有人把它放在一起,从我的minecraft服务器返回信息。一切正常,除了这一页,我只想列出mod和它们的版本号。您可以在此处看到输出: 如您所见,它只是使用一个循环将信息转储到页面上。我所要做的就是进入最后一个数组“modinfo”,在列表中只列出modid和version。一旦我得到它,我就可以格式化它,但是我在打印那个列表时遇到了一个问题。下面是现在的代码:php嵌套数组的问题,php,arrays,for-loop,foreach,Php,Arrays,For Loop,Foreach,基本上,我正在使用这个库,有人把它放在一起,从我的minecraft服务器返回信息。一切正常,除了这一页,我只想列出mod和它们的版本号。您可以在此处看到输出: 如您所见,它只是使用一个循环将信息转储到页面上。我所要做的就是进入最后一个数组“modinfo”,在列表中只列出modid和version。一旦我得到它,我就可以格式化它,但是我在打印那个列表时遇到了一个问题。下面是现在的代码: <?php foreach( $Info as $InfoKey => $InfoValue )
<?php foreach( $Info as $InfoKey => $InfoValue ): ?>
<tr>
<td><?=htmlspecialchars($InfoKey); ?></td>
<td><?php
if($InfoKey === 'favicon'){
echo '<img width="64" height="64" src="' . Str_Replace("\n","",$InfoValue) . '">';
}else if(Is_Array($InfoValue)){
echo "<pre>";
print_r($InfoValue);
echo "</pre>";
}else{
echo htmlspecialchars( $InfoValue );
}
?></td>
</tr>
<?php endforeach; ?>
因此,我尝试这样做,以深入到阵列中,只打印出mod列表:
echo $Info['modinfo']['modlist'][$i]['modid'] ;
echo $Info['modinfo']['modlist'][$i]['version'] ;
我得到的只是你在第175页上看到的错误。。。。我做错了什么?我知道这必须是一些简单的事情,但现在一切都开始融合在一起了,哈哈。你也可以这样做,而不是用foreach
错误消息是什么?能否提供
$Info
数组的格式化打印?它将帮助我们了解阵列结构,并了解您正在做什么。如果它很长,您可以将其缩短为2或3个条目。此外,请确保删除任何私人/个人信息。未定义的索引“modlist”。这意味着数组中没有键“modlist”,但您在循环中请求它,因此会出现数百个错误。这也是为什么会出现foreach错误。在对$Info进行打印或变量转储计数之前,应该先检查isset($Info['modinfo']['modList'])和&is-numeric($Info['modinfo']['modList']),可能有很多实例没有设置'modList'。按照上面的建议使用isset,或者在使用这些值之前使用array_key_将有所帮助。
echo $Info['modinfo']['modlist'][$i]['modid'] ;
echo $Info['modinfo']['modlist'][$i]['version'] ;