我已经在一个带有可选参数的单例类中实现了一个函数。可选参数空检查失败
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