php - 动态映射具有href链接的表行

时间:2010-08-16 20:19:42

标签: php arrays href

我有一个用于动态创建表的数组。 我有一个名称=值对(Server = server.alias)正在提取哪些值,并希望将其超链接到另一个网页。

我需要帮助的是找出代码以使用特定的href链接映射别名,我认为我必须使用硬编码。每个别名的href链接不同,因此没有模式。

if语句是否适用于此?还有其他建议吗?谢谢。

预期产出:

Server  
----------------
server1.alias  <-- hreflink = http://server1.name.com:/9999
server2.alias  <-- hreflink = http://server2.name.colo.com:/2999

到目前为止,生成动态行的代码如下所示:

$keys = array('Server');                                                              
echo '<table><tr>';                             
foreach ($keys as $column)
   echo '<th>' . $column . '</th>';
    echo '</tr>';

foreach ($data as $row){
   echo '<tr>';                                         
     foreach ($keys as $column)                 
        if (isset($row[$column])){                                                                   
          echo '<td>' . $row[$column];
          } else {
          echo '<td>' . '' . '</td>';
        }
}
echo '</table>';

1 个答案:

答案 0 :(得分:1)

我认为解决问题的关键是您需要更多信息才能使用foreach创建所需的列表。我的建议是使用这样的东西:

$server_array = array(
  'server1' => array(
    'alias' => 'server1.alias',
    'href' => 'http//server1.name.com'
  ),
  'server2' => array(
    'alias' => 'server2.alias',
    'href' => 'http//server2.name.colo.com'
  )
);

你肯定需要阵列中的所有信息,否则,你永远无法做你想做的事。

编辑:

使用上面的数组,foreach循环将是这样的:

foreach($server_array as $server_id => $server_info)
{
  echo 'Server ID: '.$server_id;
  echo 'Server Alias: '.$server_info['alias'];
  echo 'Server URL: '.$server_info['href'];
}

缺少格式代码,但您明白了。