这是我的代码......
<?php
$j = 1;
$imgClass = "cname";
$imgSet = 'imgSet'.$j;
$setClass = $imgSet.' '.$imgClass;
$divHtml = '<div class=' . $setClass . '>' .'some text'. '</div>';
echo $divHtml;
?>
期望的输出是:
<div class="imgSet1 cname">some text</div>
当前输出为:
<div class="imgSet1" cname="">some text</div>
不明白我哪里出错......
提前致谢
答案 0 :(得分:2)
您实际上并没有将class
包装在引号中。你的代码完全没问题。
改变这个:
$divHtml = '<div class=' . $setClass . '>' .'some text'. '</div>';
对此:
$divHtml = '<div class="' . $setClass . '">' .'some text'. '</div>';
答案 1 :(得分:0)
缺少双引号:
$divHtml = '<div class="' . $setClass . '">some text</div>';
“一些文字”周围的单引号不是必需的。
答案 2 :(得分:0)
让我们破解你的代码:
$j = 1;
$imgClass = "cname";
$imgSet = 'imgSet'.$j; // "imgSet1"
$setClass = $imgSet.' '.$imgClass; // "imgSet1 cname"
$divHtml = '<div class=' . $setClass . '>' .'some text'. '</div>'; // "<div class=imgSet1 cname>some text</div>"
特别仔细查看变量究竟是什么。
我建议:
$divHtml = "<div class='$setClass'>some text</div>"; // or use =\"..\" in class
答案 3 :(得分:0)
引用是人为错误。将它与串联相结合更糟糕。尝试使用变量插值"
,
$divHtml = "<div class='$setClass'>some text</div>";
或HEREDOC
语法(通常用于更长的字符串),
$divHtml = <<<EOD
<div class='$setClass'>some text</div>;
EOD;
这样可以避免在代码中散布小的,容易混淆的标记。