我的代碼:傳遞未設置變量函數
function Check($Variable, $DefaultValue) {
if(isset($Variable) && $Variable != "" && $Variable != NULL) {
return $Variable;
}
else {
return $DefaultValue;
}
}
$a = Check(@$foo, false);
$b = Check(@$bar, "Hello");
//$a now equals false because $foo was not set.
//$b now equals "Hello" because $bar was not set.
- 當一個變量不存在,並傳遞給函數(抑制)中的錯誤是什麼實際傳遞?
- 這個函數可以展現任何未定義的行爲嗎?
- 是否有更好的方法來包裝變量存在的測試並從函數提供默認值?
- 當測試變量時,
isset()
是否在引擎蓋下檢查?
編輯:
默認值是那裏是用戶定義的。有時它會是一個數字,有時是一個字符串。
如果函數正在查找某個引用,您可以傳遞一個未設置的變量。唯一的缺點是它不能接受表達式,只能接受變量。 '函數Check(&$ Variable,$ DefaultValue){...' – 2017-09-21 15:51:45