Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php嵌套数组的问题_Php_Arrays_For Loop_Foreach - Fatal编程技术网

php嵌套数组的问题

php嵌套数组的问题,php,arrays,for-loop,foreach,Php,Arrays,For Loop,Foreach,基本上,我正在使用这个库,有人把它放在一起,从我的minecraft服务器返回信息。一切正常,除了这一页,我只想列出mod和它们的版本号。您可以在此处看到输出: 如您所见,它只是使用一个循环将信息转储到页面上。我所要做的就是进入最后一个数组“modinfo”,在列表中只列出modid和version。一旦我得到它,我就可以格式化它,但是我在打印那个列表时遇到了一个问题。下面是现在的代码: <?php foreach( $Info as $InfoKey => $InfoValue )

基本上,我正在使用这个库,有人把它放在一起,从我的minecraft服务器返回信息。一切正常,除了这一页,我只想列出mod和它们的版本号。您可以在此处看到输出:

如您所见,它只是使用一个循环将信息转储到页面上。我所要做的就是进入最后一个数组“modinfo”,在列表中只列出modid和version。一旦我得到它,我就可以格式化它,但是我在打印那个列表时遇到了一个问题。下面是现在的代码:

<?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'] ;