2015-06-11 2 views
1

В основном я использую эту библиотеку, которую кто-то собирал, чтобы возвращать информацию с моего сервера minecraft. Все работает, кроме этой страницы. Я просто хочу перечислить моды и их номера версий. Вы можете увидеть результат здесь: http://litcraft.net/view2.phpПроблемы с php вложенными массивами

Как вы можете видеть, это просто использование цикла для выгрузки информации на страницу. Все, что я пытаюсь сделать, это перейти к последнему массиву «modinfo» и ТОЛЬКО высвечивать версию и версию в списке. Я могу отформатировать его, как только получится, но у меня проблема с этим списком. Вот код для того, что есть сейчас:

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

Так что я попытался сделать это, чтобы вырыть в массив и распечатать только мод список:

<?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 раз .... Что я делаю неправильно? Я знаю, что это должно быть что-то простое, но все это начинает смешиваться в этот момент.

+0

что сообщение об ошибке? –

+0

Можете ли вы предоставить отформатированный 'print_r' массив' $ Info'? Это поможет нам понять структуру массива и получить представление о том, что вы делаете. Если он длинный, вы можете сократить его до 2 или 3 записей. Кроме того, обязательно удалите личную/личную информацию. –

+0

undefined index 'modlist'. Это означает, что в массиве нет «modlist», но вы запрашиваете его в своем цикле, поэтому сотни ошибок. И именно поэтому вы получаете ошибку foreach. – RightClick

ответ

2

Вы также можете сделать вместо Еогеасп

echo $Info['modinfo']['modlist'][$i]['modid'] ; 
echo $Info['modinfo']['modlist'][$i]['version'] ; 
Смежные вопросы