函数和变量执行优先级
function and variable execution precedence
我尝试打印一个与函数调用连接的简单变量,这就是我得到的结果!
<?php
$hello = "Hello ";
function test(){
echo "This is a function!! ";
}
echo $hello.test();
?>
此处 echo 打印由函数调用连接的变量 hello,因此应该输出 Hello This is a function!!
,而不是输出 This is a function!! Hello
。
- 这是如何工作的,有人可以解释这种行为吗?
test() 是一个 void 函数(它 returns 什么都没有)所以没有字符串让 echo 立即回显并且函数调用的优先级高于点所以将首先评估并执行在返回进行字符串连接之前它是自己的回声。
return "This is a function!! ";
.. 将使用您原来的点连接格式(正如其他人指出的那样)。
或者,将回显行更改为:
echo $hello, test();
.. 也有效。
$hello 是一个字符串并被回显,~然后~ test() 被评估。
我尝试打印一个与函数调用连接的简单变量,这就是我得到的结果!
<?php
$hello = "Hello ";
function test(){
echo "This is a function!! ";
}
echo $hello.test();
?>
此处 echo 打印由函数调用连接的变量 hello,因此应该输出 Hello This is a function!!
,而不是输出 This is a function!! Hello
。
- 这是如何工作的,有人可以解释这种行为吗?
test() 是一个 void 函数(它 returns 什么都没有)所以没有字符串让 echo 立即回显并且函数调用的优先级高于点所以将首先评估并执行在返回进行字符串连接之前它是自己的回声。
return "This is a function!! ";
.. 将使用您原来的点连接格式(正如其他人指出的那样)。
或者,将回显行更改为:
echo $hello, test();
.. 也有效。 $hello 是一个字符串并被回显,~然后~ test() 被评估。