2010-08-05 24 views
0

我知道,来连接在PHP串,点应使用:PHP隐藏技巧或支持的功能?

echo 'hello' . ' world'; // hello world 

不过顺便说一句我输入这样的:

echo 'hello' , ' world'; 

,结果仍然是世界你好没有任何错误。

这是为什么? 我们还可以使用逗号连接吗?

回答

11

它记录在条目echo

void echo (string $arg1 [, string $... ])

的两种形式是不是实际上相当于,因为有在其功能评估的瞬间difference

+1

达恩打败了我... – NullUserException 2010-08-05 07:46:02

1

echo是一种语言结构,所以你不需要括号。但是你正在“传递”多个参数来回显。把它看成是:

echo('hello', ' world');

+0

特殊构造? :) – bzlm 2010-08-05 07:47:02

+0

@bzim语言构造。至少我没有说它“把阵列弄平了”;) – NullUserException 2010-08-05 07:48:01

+0

但是这正是它所做的。 :) – bzlm 2010-08-05 08:01:38

1

它没有隐藏的把戏,它只是如何呼应的作品。如果您查看echo的PHP参考文档,您会注意到它会回显您输入的字符串列表。

3

不,你不能用逗号串接:

<?php 

$foo = 'One', 'Two'; 

?> 

Parse error: syntax error, unexpected ','

+0

优秀的答案。 – 2010-08-05 08:06:19

-1
echo('hello', ' world'); 

这是一样的:

echo 'hello', ' world'; 
1

回声是一个语言结构。它在某种程度上是一个在语法层面定义的特殊函数(我可能在这方面是错误的)。这是一个函数,它不会按照定义函数/方法的定义方式作为示例以及调用它们的方式。它“旁路”一些语法检查:)

有一个很好的帖子,讨论在这里StackOverflow difference between language construct & built in functions