2015-02-25 3 views
0

Я пытаюсь написать PHP-код для использования информации о примерах в многомерном массиве и выводить эту информацию в таблицу html.PHP - Проблема с выводом многомерного массива в таблицу HTML

Я могу выводить информацию, но форматирование уходит, я чувствую, что есть небольшая проблема, и мне нужны дополнительные пары глаз.

Любая помощь или совет приветствуются.

Мой PHP код:

<html> 

<head> 
</head> 

<body> 

<table border="1px"> 

<?php 

$karma_score = Array("UserID" => Array(1,2,3,4), 
         "NameID" => Array('Doe','Smith','Chan','Zee'), 
         "Karma" => Array(45,123,1,15), 
         "LastLogin" => Array("2012-08-30","2012-09-02","2011-12-23","2012-07-01")); 

    echo "<tr>"; 
foreach($karma_score as $key => $value){ 
    echo "<td>" . $key . "</td>"; 
} 
echo "</tr>"; 

echo "<tr>"; 
foreach($karma_score as $key=> $value){ 
    echo "<td>"; 
    foreach($value as $something){ 
     echo $something; 
    } 
    echo "</td>"; 
} 
echo "</tr>"; 



?> 

</table> 

</body> 

</html> 
+0

вы должны есть только один 'foreach ($ karma_sc ore' ... –

+0

это ошибка, крик забыл взять ее ... Интересно, вызвало ли это проблему. @Dagon –

+0

@ Dagon wait no Я просто понял, что мне нужно, чтобы вывести ключ в виде заголовков таблицы. Это часть задания. –

ответ

1

в мой комментарий, или наоборот

<html> 

<head> 
</head> 

<body> 

<table border="1px"> 

<?php 

$karma_score = Array("UserID" => Array(1,2,3,4), 
         "NameID" => Array('Doe','Smith','Chan','Zee'), 
         "Karma" => Array(45,123,1,15), 
         "LastLogin" => Array("2012-08-30","2012-09-02","2011-12-23","2012-07-01")); 

echo '<tr>'; 
foreach(array_keys($karma_score) as $head){ 
echo '<th>'.$head.'</th>'; 
} 
echo '</tr>'; 
foreach($karma_score['UserID'] as $key=> $value){ 
    echo "<tr>"; 


     echo '<td>'.$karma_score['UserID'][$key].'</td>'; 
     echo '<td>'.$karma_score['NameID'][$key].'</td>'; 
     echo '<td>'.$karma_score['Karma'][$key].'</td>'; 
     echo '<td>'.$karma_score['LastLogin'][$key].'</td>'; 


echo "</tr>"; 
} 




?> 

</table> 

</body> 

</html> 

демо: http://codepad.viper-7.com/ZFj6gb

+0

Спасибо! Мне нужно прочитать на array_keys .. –

-1

Это должно работать:

<html> 
<body> 
<table> 
    <?php 

    $karma_score = Array("UserID" => Array(1,2,3,4), 
          "NameID" => Array('Doe','Smith','Chan','Zee'), 
          "Karma" => Array(45,123,1,15), 
          "LastLogin" => Array("2012-08-30","2012-09-02","2011-12-23","2012-07-01")); 



    echo "<tr>"; 
    foreach($karma_score as $key => $value){ 
     echo "<th>" . $key . "</th>"; //use "th" instead for the header 
    } 
    echo "</tr>"; 

    foreach($karma_score as $key=> $value){ 
     echo "<tr>"; //a row for each key 
     foreach($value as $something){ //foreach row print all the columns 
      echo "<td>"; 
      echo $something; 
      echo "</td>"; 
     } 
     echo "</tr>"; 
    } 

    ?> 
</table> 
</body> 
</html> 
+0

Ключи правильно расположены в верхней строке, однако информация выводится горизонтально, когда это должно быть выводится вертикально. Например, она идет 1 2 3 4, когда она должна быть 1 doe 45 date в строке под заголовком. –

+0

и использование 'th' неверно, оно заменяет' td' not 'tr' –

Смежные вопросы