2010-08-05 42 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