是這些功能之間的區別?爲什麼我們要分配一個空值,函數參數?就是這兩個函數之間的區別?
function prints($var = '') {
echo $var; }
function prin($var) {
echo $var; }
兩者都打印相同的結果。
如果我們爲函數參數分配一個空值會發生什麼?
是這些功能之間的區別?爲什麼我們要分配一個空值,函數參數?就是這兩個函數之間的區別?
function prints($var = '') {
echo $var; }
function prin($var) {
echo $var; }
兩者都打印相同的結果。
如果我們爲函數參數分配一個空值會發生什麼?
第一個函數的第一個參數爲default value。這意味着,調用該函數時參數不需要指定。
所以,你可以調用的第一個函數沒有這樣的參數:
prints();
,用於第一個參數的默認值。但調用第二功能,當參數需要給出:
prin('parameter');
如果你不使用該參數(prin()
),你會得到這樣一個警告:
警告:缺少參數1 for prin(),叫...
這些功能
會以相同的方式工作
會顯示同樣的效果,因爲默認$var = ''
是因爲如果你不能在所有指定一個默認值。
@Gumbo正確指出的兩個函數之間的區別是,prin()
不能在沒有指定$var
的情況下調用,但是prints()
可以。
如果您使用空參數調用該函數,則$var
將僅爲空。
這是一個默認的參數
http://php.net/manual/en/functions.arguments.php
因此,對於你的樣品調用打印()會迴應一個空字符串,並呼籲首席()會因爲缺少參數拋出一個錯誤。
第一個對變量$ var有一個默認值。
您可能有興趣在function arguments上閱讀PHP手冊頁。
功能
function prints($var = '')
接收的默認值(它是在這種情況下,空值)。
其他功能不接受它。 這意味着,你可以調用的第一個函數打印(),沒有參數,它會對待它,如果你有一個空字符串把它叫做 - 打印(「」)。
如果沒有定義參數,則不能調用第二個函數,因爲它沒有設置默認值,並且會發出錯誤。
對我感到羞恥 - 當然是有區別的。 +1 – 2010-02-22 14:28:08
感謝所有回帖。 :-) – Paulraj 2010-02-22 14:42:53