php - 为什么 PHP 中的字符串连接使用句号 "."而不是加号 "+"?

标签 php perl syntax operators concatenation

为什么 PHP 的设计者决定使用句号/句点/“.”作为字符串 连接运算符而不是更常见的加号“+”?

这样做有什么好处,或者有什么理由吗?还是他们只是喜欢? :o)

最佳答案

PHP 的语法受 Perl 影响,. 是 Perl 中的字符串连接运算符。

在弱类型语言中,使用不同的字符串连接和数字加法运算符具有优势:您使用哪一个将影响语言将变量强制转换为哪种类型。

碰巧的是,Perl 6 将使用波浪号 ~ 而不是点 . 进行字符串连接,因为 . 将用于对象成员访问。所以现在看来​​ Perl 的设计者认为这是一个糟糕的选择。

也许,在 Perl 和 PHP 的早期非面向对象的日子里,这似乎是一个不错的选择。也许这两种语言的设计者从来没有想过它们会成为强大的面向对象语言。

至于 PHP 是否有朝一日会放弃其 -> 成员访问语法以获取 .,谁知道呢?

关于php - 为什么 PHP 中的字符串连接使用句号 "."而不是加号 "+"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1866098/

相关文章:

c++ - "*ptrInt++"是做什么的?

javascript - 如何在更改 select 的值时显示/隐藏文本框

javascript - 如何从 mysql 检索数据到 chart.js

perl - 判断 Perl 脚本的 STDOUT 是否被重定向

perl - 使用 eval 插入变量时避免使用 PerlCritic

syntax - Lambda表达式的正确语法,该语法在Scheme中获取任意数量的参数

php - 将数据库的每一行值与我自己的值进行比较

php - 尽管 HTTP 错误,使 file_get_contents() 返回服务器响应

c# - 为什么 C# 不能解密 Perl 的 Crypt::Rijndael 的输出?

ruby - 符号 "name: "与 ":name => "