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

问题描述 投票:0回答:1

我是一个相当新的PHP新手,还在为最简单的任务而苦恼。我在互联网上找了很多地方,但都没有找到合适的解决方案。

假设我有两个页面:一个是index.php,我想在这里显示一个超链接的列表,以及这些链接所指向的页面的名称。另一个是function.php,我在这里存储了一个包含我的链接和标题的数组。另外,我知道数组可以存放在比function.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'];
  }
}

但是没有--它只在index页面的每个页面项中重复第一个链接和标题对(website-one.com, Website 1),就像循环在第一次迭代后被卡住一样。

php loops multidimensional-array foreach
1个回答
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 在不同的文件中,您可以使用 include('function.php'); foreach循环之前的任何一点。

© www.soinside.com 2019 - 2024. All rights reserved.