我无法执行下面的代码的原因是什么?

问题描述:

<?php 

$greeting = 'hi'; 

echo 'hi' $greeting; 
?> 

我知道,当串插使用诸如echo "hi $greeting";但如果代码工作分别在echo 'hi'echo $greeting我不明白为什么当代码合并是echo 'hi' $greeting;因为我得到一个错误上述作品我在上面说明。我无法执行下面的代码的原因是什么?

+2

串接您的字符串和变量。 – aldrin27

+0

我想知道为什么它不会工作,而不是使用连接使其工作。 – Robert

+0

@Robert我建议对语言及其语法做一些研究。你不能猜测它应该如何工作。这与'foo(“hi”“hi”)'在任何语言中都是无效的原因是一样的。 –

因为那不是有效的代码。您需要在连接字符串,如果你想那样做:

echo 'hi' . $greeting; 
+0

虽然会有技术原因吗?我知道这里需要连接,但为什么? – Robert

+0

因为这就是PHP的工作原理。 'echo'只是一个PHP函数,通过'echo'嗨'$ greeting;'你只是把两个表达式放在一起,而不告诉PHP它们是如何相互影响的。 – Enstage

+0

另外,'echo'可以通过将它们作为单独的参数传递,而不需要连接多个字符串:'echo'hi',$ greeting;' – Enstage

你要更换你的代码的这部分

echo 'hi' $greeting; 

echo 'hi'.$greeting;