如何在PHP中打印链接数组

时间:2010-09-13 21:55:34

标签: php arrays

需要一些PHP帮助来弄清楚如何使用我创建的这个数组,但首先我不确定我是否做到了这一点?它是一个带有名称和href链接的数组,我想为给定的服务器映射。如果我正确地构建了这个,请告诉我:

  $server_array = array(
        'server1.domain' => array(
        'href' => 'https://server1.domain.com:8080'
  ),
        'server2.domain' => array(
        'href' => 'https://server2.domain.com:8080'
  ),
        'server3.domain' => array(
        'href' => 'https://server3.domain.com:9999'
 ...
);

我想将我的密钥Server中的数据映射到其中一个链接。到目前为止,我已经创建了一个包含服务器名称的表,我想要做的就是将该服务器名称映射到表中的上述超链接之一。

有人可以告诉我如何调整我的打印代码来执行此操作吗?感谢。

显示具有servername:

的表的代码
$keys = array('Server', Target','Set','Time', 'Length','Size','Status');
echo '<table id="stats_1"><tr>';
foreach ($keys as $column)
   echo '<th>' . $column . '</th>';
    echo '</tr>';

$counter=0;
foreach ($data as $row){
  $counter ++;
    $class = $counter % 2 === 0 ? 'alt1' : 'alt2';
    echo '<tr class="' . $class . '">';
     foreach ($keys as $column){
        if (isset($row[$column])){
          echo '<td>' . $row[$column] . '</td>';
        } elseif ($column == 'Status') {
          echo '<td> Check Logs </td>';
        } elseif ($column == 'Length') {
          echo '<td> n/a </td>';
        } elseif ($column == 'Size') {
          echo '<td> n/a </td>';
        } else {
          echo '<td> </td>';
        }
     }
}
echo '</table>';

1 个答案:

答案 0 :(得分:2)

如果我正确地得到了问题,我会创建如下数组:

$server_array = array(
        'server1.domain' => 'https://server1.domain.com:8080',
        'server2.domain' => 'https://server2.domain.com:8080',
        ...
);

要创建链接,您必须这样做(假设$row['Server']包含名称'server5.domain' ):

if ($column == 'Server'){
   echo '<td> <a href="' . $server_array[$row[$column]] . '">' . $row[$column] . '</a></td>';
}

完整代码:

$keys = array('Server', 'Target','Set','Time', 'Length','Size','Status');
echo '<table id="stats_1"><tr>';
foreach ($keys as $column) {
   echo '<th>' . $column . '</th>';
}
echo '</tr>';

$counter=0;
foreach ($data as $row){
  $counter ++;
  $class = $counter % 2 === 0 ? 'alt1' : 'alt2';
  echo '<tr class="' . $class . '">';
  foreach ($keys as $column){
     if (isset($row[$column])){
         if ($column == 'Server'){
            echo '<td> <a href="' . $server_array[$row[$column]] . '">' . $row[$column] . '</a></td>';
         } else {
            echo '<td>' . $row[$column] . '</td>';
         }
     } elseif ($column == 'Status') {
         echo '<td> Check Logs </td>';
     } elseif ($column == 'Length') {
         echo '<td> n/a </td>';
     } elseif ($column == 'Size') {
         echo '<td> n/a </td>';
     } else {
         echo '<td> </td>';
     }
  }
}
echo '</table>';