Php 可选参数的空检查失败
我在一个带有可选参数的单例类中实现了一个函数Php 可选参数的空检查失败,php,string,parameters,Php,String,Parameters,我在一个带有可选参数的单例类中实现了一个函数 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))
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");
为什么空支票只适用于本地副本?
有人能给我解释一下吗?没有。两个变量都有
$Name
及
不应该被区分。两者都指向同一个“事物”
此外,
$localCopy
通常不是副本,只是$name
表示的事物的第二个名称。我已经解决了这个问题。该死
我在代码中混合使用了$Name和$Name。两个不同的变量!!!
使用了未分配的变量
对于来自C/C++/C#的人来说,这是一件多么丑陋的事情:(现在警告,没有错误……)这一定是您的服务器、设置等方面的问题。我尝试了代码,它的工作方式与我应该做的一样。当为空时,输出“empty empty”,当为非空时输出“not empty not empty”
$localCopy