PHP循环中无法累加生成表格行字符串的问题求助
PHP循环生成表格行仅显示最后一项的解决方法
你的代码问题出在循环内的赋值逻辑:每次循环都用$tablerows = $rows;直接覆盖了之前存储的表格行内容,而非将新生成的行追加到已有内容中,因此最终只会输出数组最后一个元素对应的表格行。
修改方法很简单,将赋值运算符从=改为.= (连接赋值运算符),这样每次循环都会把新生成的<tr>代码追加到$tablerows变量末尾:
<?php $fruits = array ("Apple", "Blackberry", "Strawberry"); $tablerows = ""; foreach ($fruits as $key => $value) { $rows = '<tr> <td>'.$value.'</td> </tr>'; $tablerows .= $rows; // 替换为 .= 实现内容累加 } echo $tablerows; ?>
另外可以去掉多余的$rows = "";语句,因为后续直接对$rows进行了赋值,这行代码没有实际作用。
修改后运行代码,就能得到你期望的完整表格行输出:
<tr> <td>Apple</td> </tr> <tr> <td>Blackberry</td> </tr> <tr> <td>Strawberry</td> </tr>
内容的提问来源于stack exchange,提问作者Edison 0001
相关产品推荐
相关产品推荐

