美元符$和变量插值

/ 0评 / 0

众所众知,PHP中每一个变量,都需要以美元符$开头来表示,这是PHP诸多被诟病的点之一。

然而最近我领悟到美元符也有一点好处,就是:能方便的将一个变量嵌入到字符串中,也就是所谓变量插值

在PHP中,$a='hello';echo "$a world";即可打印出hello world。也就是当读取到$时,解释器知道这是一个变量,从而将变量替换成对应的值。正是有$的存在,使得字符串拼接变得相对自然。

其他语言则不一定有这样功能,将变量嵌入到字符串中,大致就有两种办法:

- 字符串拼接。如:var a = 'hello'; console.log(a+'world')(js)

- 要么就需要使用占位符。如:printf("%s,world","hello") (C语言)

相比之下,变量插值的方式更自然一些。

注:

- 不止是PHP,其他一些带有$的语言也有变量插值的功能,例如Perl?我不太清楚

- JS新标准es6,也提供了变量插值的功能,如:

var a = 'hello'; console.log(`${a} world`)
//hello world

发表评论

电子邮件地址不会被公开。 必填项已用*标注