我正在处理如下所示的 HTML代码,其中我想通过 php代码控制li标签。
HTML代码:
<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代码的 Line#A 中,假设输入的值是 3(no_articles_EN),则li标记应为3,如下所示:>
HTML代码:
<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,如下所示:
HTML代码:
<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
}
?>
答案 0 :(得分:0)
如果$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}
这样的事情的,您可以在其中将部分属性名称作为变量。
干杯!