我已經在一個帶有可選參數的單例類中實現了一個函數。可選參數空檢查失敗
private function MyFunction($Name = "")
{
$localCopy = $Name;
//this check fails, EMPTY is printed!
if (empty($Name))
echo "EMPTY";
else
echo "NOT EMPTY";
//this is working, NOT EMPTY is printed
if (empty($localCopy))
echo "EMPTY";
else
echo "NOT EMPTY";
}
該函數被同一類中的另一個函數調用。
public function OtherFunction($Name = '')
{
self::MyFunction($Name);
}
OtherFunction從外面
OtherFunction("Hello");
爲什麼空管檢查僅在本地副本正常工作叫什麼名字? 有人可以解釋我嗎?
現在一定是你的服務器,設置等。我嘗試了代碼,它的工作方式就像它應該爲我做的。當它爲空時輸出「EMPTY EMPTY」時不爲空「NOT EMPTY NOT EMPTY」 – John