使用PHP将链接数组打印到HTML表中

时间:2014-08-12 15:00:15

标签: php html arrays

我有一个HTML表格,我想添加一列链接。

这是我的数组

$unis = array( 
               array("title"=>"http://www.aber.ac.uk/en/"),
               array("title"=>"http://www.bangor.ac.uk/")
             ); 

我想跟踪数组并打印出每个链接。所以我在HTML表格中有两个大学,它们各自的链接出现在它们旁边。

到目前为止,这是我的脚本,但是这会打印出两列,其中包含表格中每条记录的上述链接,所以看起来像

foreach ($a as $i) {
                  echo "<tr><td><img class='uni-image' src='" . $dir . '/' . $i . "' /></td>";
                  echo "<td>" . pathinfo($i, PATHINFO_FILENAME) . "</td>";
                 foreach ($unis as $row) {
                    array_map('htmlentities', $row);

                    echo "<td>" . implode($row) . "</td>";
                 }
                  echo "</tr>";

结果是

Uni logo | Uni name | http://www.aber.ac.uk | http://www.bangor.ac.uk
Uni logo#2 | Uni name#2 | http://www.aber.ac.uk | http://www.bangor.ac.uk

当我真正想要的是

Uni logo | Uni name | http://www.aber.ac.uk
Uni logo#2 | Uni name#2 | http://www.bangor.ac.uk

1 个答案:

答案 0 :(得分:1)

因为你正在循环每个标题,你会看到每所大学的每个标题。而是尝试:

foreach ($a as $key => $i) {
    echo "<tr><td><img class='uni-image' src='" . $dir . '/' . $i . "' /></td>";
    echo "<td>" . pathinfo($i, PATHINFO_FILENAME) . "</td>";
    echo "<td>" . htmlentities($unis[$key$]['title']) . "</td>";
    echo "</tr>";
}

然而,我建议将数据保持在一起,而不是让两个数组的顺序正确。即也许有一个像:

这样的数组
$unis = array( 
    array("title"=>"http://www.aber.ac.uk/en/",'img'=>'abertayImage'),
    array("title"=>"http://www.bangor.ac.uk/",'img'=>'bangorImage')
); 

这将简化这些信息的输出。