如何将单引号括在双引号内以便解释php变量

时间:2010-08-24 18:43:34

标签: php

$URN  = 1
$col2 = ABC
$qty  = 10

上述3个值需要放在span标记中,例如<span id ='$URN:$col2'>$qty</span>

$row['col1']  =  "<span id = '".$urn."'>".$qty."</span>";

但我收到了错误。

7 个答案:

答案 0 :(得分:3)

使用单引号:

 $row['col1']  =  "<span id = '".$URN.":".$col2."'>".$qty."</span>";

使用双引号:

   $row['col1']  =  "<span id = \"".$URN.":".$col2."\">".$qty."</span>";

答案 1 :(得分:2)

你有几个选择。

一个。带单引号的字符串连接

$row['col1'] = '<span id="' . $urn . '">' . $qty . '</span>

湾双引号和转义:

$row['col1'] = "<span id=\"{$urn}\">{$qty}</span>";

℃。 HEREDOC

$row['col1'] = <<<EOL
<span id="{$urn}">{$qty}</span>
EOL;

答案 2 :(得分:2)

变量名在PHP中区分大小写 如果您收到“Undefined variable”错误 - 嗯,就是这样。

$row['col1']  =  "<span id = '$URN:$col2'>$qty</span>";

答案 3 :(得分:1)

我看不到任何语法错误,但以下内容会更具可读性:

$row['col1']  =  "<span id='$urn'>$qty</span>";

如果您对所得到的神秘错误更具体,可能会有所帮助。

答案 4 :(得分:1)

要准确得到您的要求:

$row['col1']  =  "<span id = '".$urn.":".$col2."'>".$qty."</span>";

答案 5 :(得分:1)

当我想生成HTML时,我避免使用sprintf函数来考虑这个问题。

答案 6 :(得分:1)

请逃避您的输出(否则您只是为可能的XSS攻击打开了大门:

(假设UTF-8字符集):

$row['col1']  =  '<span id="'.
                    htmlspecialchars($urn, ENT_COMPAT, 'UTF-8').
                 '">'.
                    htmlspecialchars($qty, ENT_COMPAT, 'UTF-8').
                 '</span>';