为什么这样做? (php点表示法)

时间:2010-05-25 03:33:11

标签: php

我在写了一段很长的sint做了一些PHP代码后,我意外地写了这个:

[root@ip-10-160-47-98 test]# cat run.php
<?php

class MyTest {

   public function run() {
      var_dump(this.test);
   }
}

$object = new MyTest();
$object->run();
[root@ip-10-160-47-98 test]# php run.php
string(8) "thistest"
[root@ip-10-160-47-98 test]#

现在,this.test应该是$ this-&gt; test,但是编译器真的很乐意让它运行。

有谁知道(this.test)如何转换成字符串“thistest”?

编译并运行php 5.3.2亚马逊实例ami-e32273a6(CentOS 5.4)

-daniel

2 个答案:

答案 0 :(得分:24)

thistest隐式转换为字符串,.是连接运算符。

答案 1 :(得分:0)

php搜索常量这个和常量测试,它没有找到它们因此引发Exception并将其转换为'this'和'test'并加入它们(dot用于连接字符串)