这是我的代码:
<?php
class Test_Class {
public function Show() {
return "Test_Class->Show() function";
}
}
class Test_Class2 {
public function Show() {
echo "Test_Class2->Show() function";
}
}
$var1 = new Test_Class();
$var2 = new Test_Class2();
echo "var1 :: " . $var1->Show() . "<br />";
echo "var2 :: " . $var2->Show() . "<br />";
?>
Run Code Online (Sandbox Code Playgroud)
这是输出:
var1 :: Test_Class->Show() function
Test_Class2->Show() functionvar2 ::
Run Code Online (Sandbox Code Playgroud)
您会注意到返回字符串的类的结果显示在正常情况下,而echo的字符串的类的结果显示在调用它的echo语句之前.
现在,我知道它首先得到处理,这就是它首先出现的原因.但是如何看待较低的水平呢?
它是这样的:
...解析
...解析
....嘿!和echo声明,让我们解析吧!
......嘿!我们正在解析的这个echo语句里面是一个对象的方法,让我们解析一下
........在这个方法中有一个echo,所以让我们来评估它(输出的内部echo语句)
....我们完成了评估echo语句(输出外部echo语句)
..解析
..解析
那很近吗?
有人知道"操作顺序"吗?
字符串在执行期间连接在一起.必须在回显之前构建字符串.
如果您希望从左到右回显声部,请使用逗号:
echo "var1 :: ", $var1->Show() , "<br />";
echo "var2 :: " , $var2->Show() , "<br />";
/* output:
var1 :: Test_Class->Show() function
var2 :: Test_Class2->Show() function
*/
Run Code Online (Sandbox Code Playgroud)