php嵌套数组的问题

时间:2015-06-11 18:52:34

标签: php arrays for-loop foreach

基本上我使用这个库,有人放在一起从我的Minecraft服务器返回信息。一切正常,除了这个页面我只想列出mods及其版本号。您可以在此处查看输出:http://litcraft.net/view2.php

正如您所看到的,它只是使用循环将信息转储到页面。我试图做的就是进入最后一个阵列" modinfo"并且只列出列表中的modid和版本。一旦我得到它,我可以格式化它,但我打印该列表时遇到问题。以下是现在的代码:

<?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列表:

<?php 
$len = count($Info['modinfo']['modList']) + 1;
echo "<p>There are " . $len . " mods.</p>";
for($i=0;$i<$len;$i++){
    foreach($Info['modinfo']['modlist'][$i] as $ModID => $ModVersion): ?>
                <tr>
                    <td><?=$ModID; ?></td>
                    <td><?=$ModVersion; ?></td>
                </tr>
    <?php endforeach;
}?>

我得到的只是你在页面上看到的错误175次....我做错了什么?我知道它必须是简单的东西,但是在这一点上它们开始融合在一起大声笑。

1 个答案:

答案 0 :(得分:2)

您也可以代替foreach

echo $Info['modinfo']['modlist'][$i]['modid'] ;
echo $Info['modinfo']['modlist'][$i]['version'] ;