網絡上有大量的兩個例子。 php手冊說「include()語句[...]」,這似乎是矛盾的 - 如果它是一個聲明不應該沒有括號?是php的'include'函數還是語句?
這兩項工作:
include('somefile.php');
include 'somefile.php;
這樣,我或其他人照顧?
網絡上有大量的兩個例子。 php手冊說「include()語句[...]」,這似乎是矛盾的 - 如果它是一個聲明不應該沒有括號?是php的'include'函數還是語句?
這兩項工作:
include('somefile.php');
include 'somefile.php;
這樣,我或其他人照顧?
從手動(我的重點)報價
因爲包括()是一個特殊的語言構造,圓括號是而不是需要圍繞它的論點。
這些也被稱爲「特殊形式」,包括諸如echo
和return
陳述之類的東西。請注意,雖然這些都不是功能,但仍然可以談論表達式和語句,不同之處在於前者具有價值,而後者則不具備價值。由於include
,include_once
,require
和require_once
都返回一個值(如果包含成功,則返回TRUE
),則可以在表達式中使用它們。通過這個推理,「包含聲明」將是不正確的,儘管include
幾乎總是用作語句。
+1爲「語言結構」 – igorw 2011-02-10 10:16:45
parens中的單值會根據值本身進行評估,所以parens本身並不重要。只有一個參數
語句,可以有也插入語如:
echo ('hello world');
包括一個聲明: 按照例如
// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')
if (include('vars.php') == 'OK') {
echo 'OK';
}
// works
if ((include 'vars.php') == 'OK') {
echo 'OK';
}
+1爲負的例子 – PeerBr 2014-10-10 20:08:37
兩種解釋。在PHP文檔的許多領域中,所有內容都被稱爲語句。示例(來自控制結構) - 「語句可以是賦值,函數調用,循環,條件語句或甚至不執行任何操作的語句(空語句)。」
語句和函數之間的區別是個別語言的語義問題。因此,PHP維護者可以明確定義它,或者讓它保持不明確。
include
,require
,echo
,print
和其它關鍵字一小撮都是靠自己的語言結構,而不是函數調用,並且不需要括號。但是,有些人喜歡假裝他們是函數調用,無論如何都使用括號。它們是相同的。
我相信唯一的區別就是你想要做的。
例如,這兩個
echo 'Hello World';
echo ('Hello World');
...兩個打印的Hello World。
這正是你想做的事,你覺得最舒服的,如果你像我一樣,你想使你的腳本看起來很漂亮:d
的括號裏的一個函數的參數。 與include
你可以使用它作爲一個函數或在php語句。
因爲include()是一種特殊的語言結構,所以括號不是圍繞其參數所需的 。
文檔瀏覽:http://php.net/manual/en/function.include.php
隨着echo
相同的概念,從PHP手冊here
回聲實際上不是一個函數引用(這是一個語言結構),所以你 不要求使用圓括號。回聲(與其他一些 語言結構不同)不會像函數那樣工作,因此它總是不能在函數的上下文中使用。
回聲總是用回聲 「測試」
<?php
// this will give you error
echo ("test","test");
//that will work fine
echo "test","test";
?>
不,一個人永遠要關心沒有一定道理的。 – 2011-02-10 10:17:29