Я реализовал функцию в одноэлементном классе с необязательным параметром.
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");
Почему пустой чек корректно работает только с локальной копией?
Может кто-нибудь объяснить мне это ??