PHP for循环内拼接HTML时无法获取$j变量值如何解决
问题原因
- 你当前已经处于PHP代码执行上下文,拼接的单引号字符串内部的
<?php ?>标签不会被PHP解析,只会被当做普通文本输出,自然无法读取到$j变量的值 - 原有循环条件
$j<3只会执行2次循环,对应$j=1、$j=2,要输出到delete-3需要将循环条件修改为$j<=3
修复方案
直接用PHP字符串拼接语法把变量拼进字符串即可,提供两种常用写法:
写法1:单引号字符串拼接
$output = ''; for($j=1; $j<=3; $j++) { $output .= '<span id="delete-'.$j.'">'.$j.'</span>'; } // 后续可以直接echo $output输出内容
写法2:双引号字符串解析变量
双引号包裹的字符串可以直接解析内部的PHP变量,写法更简洁:
$output = ''; for($j=1; $j<=3; $j++) { $output .= "<span id=\"delete-$j\">$j</span>"; }
两种写法最终输出的内容都符合你需要的HTML结构:
<span id="delete-1">1</span> <span id="delete-2">2</span> <span id="delete-3">3</span>
内容的提问来源于stack exchange,提问作者Sathish Selvam
相关产品推荐
相关产品推荐

