无法在echo语句中转义双引号

时间:2011-11-10 21:02:58

标签: php

所以我想显示一个与赞助商ID相关联的复选框:

echo "<tr>";//line 1
echo '<td align="center" bgcolor="#FFFFFF">';//line 2
echo '<input name="checkbox[]" type="checkbox" id="checkbox[]" value="{$row['sponsors_id']}" />';//line 3
echo '</td>';//line 4

然后我收到以下错误:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in line 3

我试图通过\"stuff\"{}逃跑,但他们都没有工作。

4 个答案:

答案 0 :(得分:3)

尝试第3行:

echo '<input name="checkbox[]" type="checkbox" id="checkbox[]" value="'.$row['sponsors_id'].'" />';

对于替换变量,不会解析单引号字符串,即使用{和}分隔它们也是如此。

答案 1 :(得分:1)

您缺少连接点:

echo '<input name="checkbox[]" type="checkbox" id="checkbox[]" value="' . $row['sponsors_id'] . '" />';

答案 2 :(得分:0)

由于您在第3行使用单引号,以下代码会破坏您的语法:

{$row[**'**sponsors_id**'**]}

请注意**。

之间的单引号

您应该更改第3行:

echo '<input name="checkbox[]" type="checkbox" id="checkbox[]" value="' . $row['sponsors_id'] . '" />';//line 3

答案 3 :(得分:0)

echo '<input name="checkbox[]" type="checkbox" id="checkbox[]" value="{$row['sponsors_id']}" />';

单引号不解析变量。请用双引号代替它:

echo "<input name='checkbox[]' type='checkbox' id='checkbox[]' value='{$row['sponsors_id']}' />";