У меня есть некоторые проблемы с моим большим проектом. Я не могу понять, почему присвоение TRUE функции не дает ожидаемого результата.
Я имею:
class Cat
{
final public function abc ($a = FALSE) // UPD: Forgot this is final
{
var_dump($a); // <---- WHY FALSE?
if ($a)
{
print('YES');
}
else
{
print('NO');
}
}
private function meow ()
{
$blabla = $this->abc(TRUE);
//some code
}
}
Он всегда печатает НЕТ, но мне нужно ДА.
Но этот пример в онлайн-редакторе печатает ДА:
function abc ($a = FALSE)
{
if ($a)
{
print('YES');
}
else
{
print('NO');
}
}
abc(TRUE);
UPD: Может быть, мой первый пример (мой код) не работает, потому что не переопределяет эту переменную?
UPD-1: Если var_dump $ a, он показывает логическое значение false. Зачем?
Задача ещё не решена.
Других решений пока нет …