PHP双引号和单引号引起麻烦
Posted
技术标签:
【中文标题】PHP双引号和单引号引起麻烦【英文标题】:PHP double and single quotes causing trouble 【发布时间】:2014-06-28 18:43:32 【问题描述】:我有一个 jQuery 脚本:
$('[id="a"][f-id="0"]').val(<?php echo $a; ?>)
现在我想把这个脚本放在一个 PHP 变量 $output
中,并通过 PHP 函数返回它。
但是脚本中的那些引号会导致很多语法错误。
任何人都可以让它运行吗?
【问题讨论】:
你试过用反斜杠转义字符吗? 什么语法错误? javascript 还是 php 的?看起来您还需要将其更改为:.val('<?php echo $a; ?>')
。或使用 json_encode:.val(<?php echo json_encode($a); ?>)
【参考方案1】:
如果我理解正确,您想将问题中的 Javascript 字符串放入 PHP 变量中。这看起来像这样:
$myVar = "$('[id=\"a\"][f-id=\"0\"]').val($a)";
双引号前的反斜杠 () 是转义字符,让 PHP 知道您希望实际字符 " 在字符串中,否则 PHP 认为您要结束字符串。
请注意,$a 不需要在此上下文中回显,因为您不是在输出 $a,而是将其包含在字符串中。
【讨论】:
【参考方案2】:您只需在引号 (\) 前加上一个反斜杠。这将告诉 PHP 编译器下一个符号(" 或 ')必须是文字而不是字符串的结尾。
如果你不想加反斜杠,你需要“\”。
【讨论】:
以上是关于PHP双引号和单引号引起麻烦的主要内容,如果未能解决你的问题,请参考以下文章