如何在PHP中循环多维数组中的数据并将其注入HTML



我对PHP相当陌生,仍在为最简单的任务而挣扎。我在互联网上搜索过,但找不到或想不出正确的解决方案。

假设我有两个页面:一个是index.php,我想在其中显示超链接列表和这些链接指向的各个页面的名称。另一个是functions.php,我在其中存储了一个包含链接和标题的数组。此外,我知道数组可以存储在比functions.php更好的位置,但目前这还不重要。

这是我在index.php页面上的HTML:

<ul class="row">
<li class="col-6 col-lg-4">
<a class="hyperlink" href="<?php echo $pageitem['link'] ?>">
<div class="page-item">
<**SVG icon goes here, disregard**>
<span><?php echo $pageitem['title'] ?></span>
</div>
</a>
</li>
<li class="col-6 col-lg-4">
<a class="hyperlink" href="<?php echo $pageitem['link'] ?>">
<div class="page-item">
<**SVG icon goes here, disregard**>
<span><?php echo $pageitem['title'] ?></span>
</div>
</a>
</li>
<li class="col-6 col-lg-4">
<a class="hyperlink" href="<?php echo $pageitem['link'] ?>">
<div class="page-item">
<**SVG icon goes here, disregard**>
<span><?php echo $pageitem['title'] ?></span>
</div>
</a>
</li>
</ul>

这是我的阵列:

$pageitems = array (
array('link' => 'https://website-one.com', 'title' => 'Website 1'),
array('link' => 'https://website-two.com', 'title' => 'Website 2'),
array('link' => 'https://website-three.com', 'title' => 'Website 3'),
);

这是我的函数,我希望它能循环通过每个子数组,并在index.php页面上的页面项目中显示链接和标题:

$i = 0;
foreach ( $pageitems as $pageitem ) {
$i++;
foreach ( $pageitem as $key => $value )
{
return $pageitem['link'];
return $pageitem['title'];
}
}

但不是——它只在索引页面上的每个页面项目上重复第一个链接和标题对(website-one.com,website 1(,就像第一次迭代后循环被卡住一样。

我想您必须迭代您所拥有的数组,并将li放入foreach循环中,如下所示:

<ul class="row">
<?php
$pageitems = array (
array('link' => 'https://website-one.com', 'title' => 'Website 1'),
array('link' => 'https://website-two.com', 'title' => 'Website 2'),
array('link' => 'https://website-three.com', 'title' => 'Website 3'),
);
foreach ($pageitems as $pageitem) {
?>
<li class="col-6 col-lg-4">
<a class="hyperlink" href="<?php echo $pageitem['link'] ?>">
<div class="page-item">
<**SVG icon goes here, disregard**>
<span><?php echo $pageitem['title'] ?></span>
</div>
</a>
</li>
<?php
}
?>
</ul>

如果最好将$pageitems放在不同的文件中,则可以在foreach循环之前的任何点使用include('function.php');

最新更新