在PHP中显示关联数组

时间:2010-08-17 20:21:28

标签: php

我正在尝试构建一个从数据库中提取信息并使用mysql_fetch_assoc将其插入到PHP中的关联数组中的函数,并返回该数组,以便另一个函数可以显示它。我需要一种方法来显示返回的assoc数组。这应该是与第一个不同的功能

6 个答案:

答案 0 :(得分:2)

print_r($array)将提供格式良好(文本,而非html)的输出。

答案 1 :(得分:2)

如果您只想获得有关数组中内容的信息(用于调试目的),可以使用print_r($array)var_dump($array)var_export($array)以PHP的数组格式打印它。 / p>

如果您想要格式良好的输出,您可能需要执行以下操作:

<table border="1">
  <?php
  foreach($array as $name => $value) {
    echo "<tr><th>".htmlspecialchars($name).
        "</th><td>".htmlspecialchars($value)."</th></tr>";
  }
  ?>
</table>

正如您可能已经看到的那样,这将打印格式正确的表,其中左侧列中的名称和右侧列中的值。

答案 2 :(得分:1)

while ($row = mysql_fetch_assoc($result)) {
    foreach ($row as $column => $value) {
        //Column name is in $column, value in $value
        //do displaying here
    }
}

如果这是一个新程序,请考虑使用mysqli扩展程序。

答案 3 :(得分:0)

这应该让你前进:

$rows = mysql_query("select * from whatever");
if ($rows) {
   while ($record = mysql_fetch_array($rows)) {
       echo $record["column1"];
       echo $record["column2"];
       // or you could just var_dump($record); to see what came back...
   }
}

答案 4 :(得分:0)

以下内容应该有效:

$rows = mysql_query("select * from whatever");
if ($rows) {
    $header = true;
    while ($record = mysql_fetch_assoc($rows)) {
        if ($header) {
            echo '<tr>';
            foreach (array_keys($record) AS $col) {
                echo '<td>'.htmlspecialchars($col).'</td>';
            }
            echo '</tr>';
            $header = false;
        }
        echo '<tr>';
        foreach (array_values($record) AS $col) {
            echo '<td>'.htmlspecialchars($col).'</td>';
        }
        echo '</tr>';
    }
}

(是的,Fosco代码的公然模式)

这应该打印列标题一次,然后打印内容。无论查询是什么,这都会打印从数据库中检索到的任何列。

答案 5 :(得分:0)

假设您已拨打电话,并获得$ result:

$array = new array();
while($row = mysql_fetch_assoc($result)){
  $array[] = $row;
}
return $array;