php 字符串插值为何这么变态

2014-10-12 18:16:38 +08:00
 jacob

难道在双引号里不需要告诉解释器:我要插入了。

echo "$plug in";

ruby
ruby
puts "#{plug} in"

4541 次点击
所在节点    PHP
27 条回复
kankana
2014-10-12 18:22:12 +08:00
echo "{$plug} in";

echo "${plug} in";

要不你用这个吧
jacob
2014-10-12 18:39:20 +08:00
@kankana 我感觉我发了个很愚蠢的帖子
jacob
2014-10-12 18:39:49 +08:00
我很想删了- -||
xoxo
2014-10-12 18:41:31 +08:00
撸主刚学PHP吧,PHP是世界上最好的语言
kankana
2014-10-12 19:04:15 +08:00
@xoxo 哈哈, 你这是要挑起战争啊
rming
2014-10-12 19:25:05 +08:00
@xoxo PHP大法好
LINAICAI
2014-10-12 19:33:38 +08:00
php单双引号简直让人不忍直视~
regmach
2014-10-12 19:36:02 +08:00
@xoxo
我不管PHP好不好,我就知道其他的我学! 不!! 会!!!
rming
2014-10-12 19:38:00 +08:00
@LINAICAI 知道我看到了Python的三引号 = =!
belin520
2014-10-12 19:38:02 +08:00
嗤~
qiayue
2014-10-12 20:14:30 +08:00
因为 PHP 变量前有 “$” 所以不需要其他标识就能够知道哪些是变量名。
然后 PHP 会解析双引号里边变量。
Jaylee
2014-10-12 21:23:19 +08:00
撸主刚学PHP吧,PHP是世界上最好的语言
14
2014-10-12 21:40:14 +08:00
想到php最初是Personal Home Page,作者写简历用的,也就理解了。。。
lazyphp
2014-10-12 22:16:35 +08:00
扩展贴:php 的 $符号好奇葩。
ichou
2014-10-12 22:31:44 +08:00
而且我告诉你 露珠
php 的双引号无论不插不插值 执行效率都比单引号低 所以推荐使用单引号
想想那通篇有插值用双引号 没插值用单引号的文本 给强迫症看真是爽歪歪啊
zts1993
2014-10-12 22:36:35 +08:00
echo "$plug in";

如果替换变量应该这样写。
echo '$plug in';
如果非要用双引号
echo "\$plug in";
lincanbin
2014-10-12 22:49:15 +08:00
PHP官方文档里都写了,推荐使用单引号,需要变量再拼接。
kslr
2014-10-12 23:19:14 +08:00
那优化到最后就是:echo $plug.'in';

楼主,你的;是中文的!
GTim
2014-10-12 23:20:59 +08:00
@ichou 因为插不插入,它都要试图查找和解析一下里面的$符号.
weegc
2014-10-12 23:46:26 +08:00
单引号是单纯的字符串 php不解析里面的变量之类的东东
双引号里面的变量 php会去解析

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/138484

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX