在PHP中使用引号时出现的问题

在PHP中使用引号时出现的问题,php,quotes,Php,Quotes,我了解到,在PHP中,引号并不重要 但是在下面的代码中,如果我尝试在eval()中使用单引号;我得到一个错误,另一方面,代码可以很好地使用双引号 $a = '2'; $b = '3'; $c = '$a+$b'; echo $c.'<br/>'; eval("\$c = \"$c\";"); //eval('\$c = \'$c\';'); //Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING

我了解到,在PHP中,引号并不重要

但是在下面的代码中,如果我尝试在
eval()
中使用单引号;我得到一个错误,另一方面,代码可以很好地使用双引号

$a = '2';
$b = '3';
$c = '$a+$b';
echo $c.'<br/>';
eval("\$c = \"$c\";");
//eval('\$c = \'$c\';');  //Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING
echo $c;
$a='2';
$b='3';
$c='$a+$b';
回声$c.“
”; 评估(\$c=\“$c\”;); //评估(“\$c=\'$c\';”)//分析错误:语法错误,意外的T_变量,应为T_字符串 echo$c;
与双引号不同,PHP不解析单引号中的变量

示例:

$name = 'John';
echo 'hello $name'; // hello $name
echo "hello $name"; // hello John



仅供参考,出于安全原因,在生产环境中使用
eval
不是一个好主意。

与双引号不同,PHP不解析单引号中的变量

示例:

$name = 'John';
echo 'hello $name'; // hello $name
echo "hello $name"; // hello John


仅供参考,出于安全原因,在生产环境中使用
eval
不是一个好主意。

并更新您的here:

和更新您的here:

引用确实重要;-)


引用确实重要;-)


说使用单引号时转义序列不会扩展。

说使用单引号时转义序列不会扩展。

使用
eval
是一个
坏主意
,但如果你这样做是为了
学习目的
,那么正确的方法是

  eval("\$c = \$c;");

使用
eval
是一个
坏主意
,但如果你这样做是为了
学习目的
,那么正确的方法是

  eval("\$c = \$c;");

以下示例摘自:


以下示例摘自:



谁告诉你引号不重要?单引号内的内容不会被解释。双引号内的内容是。引号很重要。谁告诉你引号不重要的?单引号内的东西不会被解释。双引号内的内容是。报价很重要。谢谢你的回复。我还有一个疑问。我可以知道为什么我们要用反斜杠(
反斜杠)
来逃避$c。谢谢你的回复。我还有一个疑问。我可以知道为什么我们要用反斜杠逃逸$c吗。