[英]generating <li> elements in php
这应该相对简单,但我在这里或其他地方找到的解决方案都不起作用。
我正在尝试显示一个包含品牌列表所有元素的表格。 我手动添加了两个(阿迪达斯和耐克)只是为了测试显示,这些显示正确。 然后我尝试使用品牌数组生成一个列表(数组brandList 有两个项目,id 和name)。 output 是垃圾。
<ul class="brand-list">
<li><a href="#">Adidas</a></li>
<li><a href="#">Nike</a></li>
<?php
foreach ($brandList as $item) {
$text = '<li><a href="#">'.$item[1].'</a></li>';
echo("$text\n");
}
?>
</ul>
预期 output:
Adidas
Nike
Puma
Asics
实际 output
Adidas
Nike
'.$item[1].''; echo("$text\n"); } ?>
我尝试了十几种不同的格式(使用单引号和双引号、反斜杠等),但它总是只显示代码行的一半而不是变量。 我知道这很简单,但是我花了太多时间弄乱它而没有结果。
一种方法是让 PHP 生成 HTML 而不是回显字符串。 我认为这比呼应更清楚。
<ul class="brand-list">
<li><a href="#">Adidas</a></li>
<li><a href="#">Nike</a></li>
<?php
foreach ($brandList as $item) {
?>
<li><a href="#"><?=$item[1]?></a></li>
<?php
}
?>
</ul>
嗨,我认为您错过了循环中的起始 li 标签。 请检查此以获取您的解决方案。
<ul class="brand-list">
<li><a href="#">Adidas</a></li>
<li><a href="#">Nike</a></li>
<?php
$text="";
foreach ($brandList as $item){
$text .= '<li><a href="#">'.$item[1].'</a></li>';
}
echo($text);
?>
您的代码段有很多问题,坦率地说,我并不奇怪它不起作用。
foreach
循环中使用了错误的语法。<li></li>
没有开始标记,只有一个锚标记<a></a>
和一个结束列表项标记</li>
。$test
是一个带有引号的变量,在echo
显期间在其周围使用引号是错误的,因为您的href
中的"
将关闭变量周围的第一个引号,将其他变量作为字符串而不是 HTML 标记输出。\n
字符。 您的浏览器将在有或没有它的情况下以块格式呈现列表。将您的代码段更改为如下所示
<ul class="brand-list">
<li><a href="#">Adidas</a></li>
<li><a href="#">Nike</a></li>
<?php
foreach($brandList as $item) {
?>
<li><a href="#"><?=$item[1]?></a></li>
<?php
}
?>
</ul>
如果您更喜欢当前的语法,请将其更改为此
<ul class="brand-list">
<li><a href="#">Adidas</a></li>
<li><a href="#">Nike</a></li>
<?php
foreach($brandList as $item) {
$text = '<li><a href="#">'.$item[1].'</a></li>';
echo($text);
}
?>
</ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.