PHP中什么叫双引号中的变量会被编译,而单引号中不会编译变量,当做字符串来用?
当使用双引号来括字符串时,PHP解释器会对其进行变量替换、转义等操作,如“ ”,即使引号内没有变量,PHP解释器依然会对其进行检查,因此如果你只想输出一个基本的字符串,就用单引号吧,这样会节省一些资源。当然,如果你需要进行变量替换的,那就必须用双引号了,但其他情况下还是用单引号吧。例如:
$a = 'a';
echo "变量a=$a";
输出:
变量a=a
单引号里不行
$a = 'a';
echo '变量a=$a';
输出:
变量a=$a
PHP 单引号字符串中的变量名解析问题
在单引号中的变量名不会解析,PHP会认为这是个字符串,双引号会被当做变量解析
比如
$a="hellow";
echo '$a'; // 结果是 $a
echo "$a"; // 结果是 hellow
-------------------------------------------
你用的应该是smart框架吧,在框架中变量的输出为了和其他语言不冲突都是可以自定义的。
$str = '你好,‘.$name}.',我是'.$myname;