我有一個函數php函數參數默認值 - 如何知道def。價值被應用了?
function my_func($id,$arg1='aaa',$arg2='bbb'){
if($arg1=='aaa'){
//means that def. value applied, real argument has not been provided
}
if($arg1=='bbb'){
//means that def. value applied, real argument has not been provided
}
}
檢查我的值是默認的,我會做的一件事,如果不是 - 是另一回事。 但我的用戶可以調用像
my_func($id,'aaa','bbb')
我的功能,所以他提供了真正的價值。我如何知道這些值在我的代碼中是真實的,而不是默認值?
你是衝突你的問題本身?根據第一個你在第二個代碼中給出的def值並不是真正的參數。所以請讓你的問題更清楚。 –
你不能。使用'NULL'作爲隱含值,並自己設置默認值。更重要的問題是爲什麼你想區分調用者或運行時提供的相同值。 – mario
謝謝!對不起,我不明白爲什麼我的問題本身就是相互衝突的。我需要知道什麼時候在我的代碼中有def值,並且當用戶提供了所有參數,但值與默認值相同時。問題是def的邏輯是不同的。和真實的價值。如果兩個邊是相同的,那麼這是一個問題。換句話說,my_func(10000)和my_func(10000,'aaa','bbb')會做完全不同的事情,但在my_func裏面,沒有任何信息是那些值默認或不是。我希望現在更清楚。謝謝 – avalon