2013-02-28 30 views
0

時,這是我的代碼...收到錯誤串聯

<?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> 

不理解我哪裏錯了...

Thanks in adv ance

回答

2

您實際上並未將class用引號括起來。否則,你的代碼完全沒問題。

更改此:

$divHtml = '<div class=' . $setClass . '>' .'some text'. '</div>'; 

要這樣:

$divHtml = '<div class="' . $setClass . '">' .'some text'. '</div>'; 
+0

嚴重..這是竊聽我...我知道它一定是傻的..也許我很困的工作深夜..感謝夥計... – brucekaushik 2013-02-28 18:39:48

+0

它發生了!很高興我能幫上忙 – burmat 2013-02-28 18:41:38

0

缺少雙引號:

$divHtml = '<div class="' . $setClass . '">some text</div>'; 

單引號 '一些文本' 是沒有必要的。

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 
0

報價是人類容易出錯。將它與級聯組合會更糟。嘗試"可變插值,

$divHtml = "<div class='$setClass'>some text</div>"; 

HEREDOC語法(通常是更長的字符串),

$divHtml = <<<EOD 
    <div class='$setClass'>some text</div>; 
EOD; 

這樣就避免了在你的代碼分散小,容易混淆的商標。