如何通过 php 控制 html 元素的数量



我正在研究如下所示的HTML代码,我想通过php代码控制li标签。

网页代码:

<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>

PHP代码:

<input type="text" name="no_articles_EN" style="width: 77.69px;height: 22px;" value="<?php if($data->{"no_articles_EN"}<>''){echo $data->{"no_articles_EN"};} ?>">   // Line#A
<input type="text" name="no_articles_FR" style="width: 77.69px;height: 22px;" value="<?php if($data->{"no_articles_FR"}<>''){echo $data->{"no_articles_FR"};} ?>">   // Line#B

在上面 php 代码的 #A 行中,假设输入的值是 3(no_articles_EN(,那么 li 标签应该是 3,如下所示:

网页代码:

<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>

如果输入的值为 2(no_articles_EN(,则 li 标签应为 2,如下所示:

网页代码:

<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>

问题陈述:

我想知道我应该在上面的 HTML 代码中进行哪些更改,因此如果no_articles_EN是 3/4/5,那么 li 标签应该反之亦然。我带着以下逻辑来了,但我认为我需要更多。

<?php
if($data->{"no_articles_EN"})   // Let say when no_articles_EN is 3 then li tags should be 3.  
{
?>
<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>
<li class="vidlist-main__item cf">
</li>
<?php
}
?>

如果$data->no_articles_EN是一个整数,等于所需的项目数。这就是你看起来可以使用一个简单的for循环。

如果输入的值为 3(no_articles_EN(,则 li 标签应为 3

如果输入的值为 2(no_articles_EN(,则 li 标签应为 2,如下所示:

在处理混合内容(PHP/HTML(时,我更喜欢ALT PHP语法,它只是更干净。 但是,如果您更喜欢{...}请务必使用它。 alt 语法使用 :end{command}; 而不是 {} 。 像这样移动代码更容易,更容易找到结束标签等。

<?php if($data->no_articles_EN): ?>  // Let say when no_articles_EN is 3 then li 
    <?php for($i=0; $i<$data->no_articles_EN; ++$i): ?>
        <li class="vidlist-main__item cf"></li>
    <?php endFor; ?> 
<?php endif; ?> 

除非确实需要,否则不应使用变量属性语法$data->{"no_articles_EN"},因为它会降低可读性并在不需要时增加复杂性。 这主要是针对像这样的事情$data->{"no_articles_".$language}您可以将部分属性名称作为变量。

干杯!

最新更新