@Barney_Gubmle

Почему ругается notice?

Доброго времени суток!
Постараюсь правильно расписать мыслю, спасибо тем, у кого хватает терпения прочесть.
Есть абстрактный класс A.
Есть singleton B который наследует А
есть класс C который наследует А
Все бы хорошо, но у А есть рекурсивный метод и переменная $array, которая перевызывает саму себя. если не находит нужное число
если $i больше двух - то начинаем искать $i в классе C, до этого ищем в классе B
надеюсь не запутал
abstract class A 
{
  $arr = array();
  public static function test($array, $i)
  {
  if(empty($array->arr[$i]))
    {
     $i++;
     self::test($array->arr[$i], $i)
    }
  }
}

и функция казалась бы работает.
Нооо, нотесы ругаются
Notice: Accessing static property C::$arr as non static

я так подозреваю что ругается из-за того, что
($array->arr[$i], $i)
вызвано как то не так.
Мне кажется что я "далеко куда то смотрю" И решение под носом.
Ткыните пожалуйста, без тапков. Спасибо
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
Stasgar
@Stasgar
Обученная макака
Укажите видимость переменной $arr. Например public. И что передается в метод test конкретно?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект