我有一个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
答案 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')
);
这将简化这些信息的输出。