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