2012-05-22 67 views
1

這是不是意味着在PHP中工作?PHP類和函數可選參數

<?php 
function shout($mute="", $message="") { 
    echo $message; 
} 

shout($message = "Boo"); 
?> 

我知道這是一個不好的例子,但它得到了我的觀點。

回答

1
<?php 
function shout($mute="", $message="") { 
    echo $message; 
} 

shout(null, "Boo"); //echo's "Boo" 
?> 

您必須以正確的順序傳遞正確的參數。

2

否這不起作用,功能參數順序是嚴格的,不能被操縱。

你可以這樣做:

shout(null, 'Boo'); 

或重新因素的函數接受一個數組:

function shout($args) { 
    echo $args['message']; 
} 

$args = array('message' => 'boo'); 
shout($args); 
+0

'($消息= '噓')==「Boo''。這意味着,他將設置局部變量'$ message',但將傳遞值'Boo'作爲第一個參數('$ mute')。 – KingCrunch

+0

@KingCrunch啊是#longday – Dunhamzzz

0

在PHP傳遞函數參數是傳統的,

假設你有一個像這樣的函數定義function myfunc($arg='something or null' , $arg)這是錯誤的方法,因爲我們必須將常量放在這樣的函數的右側

function myfunc($arg, $arg='something or null'){} 

當你調用功能確保您傳遞正確的參數,即myfunc('test')

,如果你描述的$ arg =「空」,那麼你不需要從你的函數調用傳遞anyhing因爲null是而值空的字符串不算什麼。

所以你的情況,你必須做這樣的function yourfunction('value1','value2')