【问题标题】:Repeat a PHP Include in the same spot在同一位置重复 PHP 包含
【发布时间】:2013-03-04 18:25:01
【问题描述】:

我正在制作一些 HTML 线框。

我希望有一些 HTML 代码能够重复“X”次。

例如

<li>my list item</li>

所以我将该代码放入一个名为“myListItem.php”的单独 PHP 文件中。然后在我的主要 HTML 模板中。我有一些看起来像这样的代码:

<ul>
<?php include('myListItem.php');?>
<?php include('myListItem.php');?>
<?php include('myListItem.php');?>
<?php include('myListItem.php');?>
</ul>

这感觉是多余的。

是否有一种简单的方法可以重复包含同一个文件“X”次?

理想情况下,我可以在我的 HTML 模板中包含以下内容:

<ul>
<?php include('myListItem.php'); myItem(4);?>
</ul>

只是弄清楚这些东西,所以我为对许多人来说肯定是一个明显的问题表示歉意。当然请记住,我在现实生活中重复的代码实际上比一个简单的列表项要长得多,在我的示例中,它比 php 包含自身要短得多。

【问题讨论】:

  • 如果是我,我宁愿在某个变量中捕获include的结果,然后在循环中输出。

标签: php html loops include


【解决方案1】:
for ($i = 0; $i < XXX; $i++) { include('myListItem.php'); }

【讨论】:

  • 与创建 UDF 相比,您会建议这样做吗?
  • 这是一个快速的'n脏单线。我倾向于不做某事的功能,除非它“复杂”或在大量地方使用。
  • 公平。只是好奇开销 - 4 include 与带有循环的 UDF。
  • 这种方式可能会便宜一些,因为没有函数调用开销。无论哪种方式,您仍然会执行 4 个包含,尽管第 2 个和以后的包含会从系统缓存等中获得一些收益。但这两种方法都适用。
【解决方案2】:

你是对的 - 这是多余的。根据您的描述,包含同一个文件 4 次是解决此问题的错误方法。

合适的选择是:

  • 将所有逻辑提取到包含的内容中,以便您可以简单地执行以下操作:

    <ul>
    <?php include('myListItem.php');?>
    </ul>
    
  • 在您包含的文件中创建a function

    <?php include('myListItem.php');?>
    <!-- other code... -->
    <ul>
    <?php displayListItems(4); ?>
    </ul>
    

无论哪种方式,您只包含一次文件。

【讨论】:

  • 我将如何编写一个函数来完成这个?
  • 我需要知道myListItem.php 做了什么。更新您的问题或提出新问题。
【解决方案3】:
<?php for ($i = 0; $i < 4; $i++) include('myListItem.php'); ?>

【讨论】:

  • 查看其他答案,我认为您错过了 include 周围的大括号?
猜你喜欢
  • 1970-01-01
  • 2013-01-06
  • 2013-03-05
  • 2018-04-12
  • 2011-08-13
  • 1970-01-01
  • 2012-10-29
  • 2010-12-25
  • 1970-01-01
相关资源
最近更新 更多