Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: не получается решить задачку
вот что не правильно, не пойму. Только не посылайте далеко, только учу ООП.
EuGen
Отправлено: 17 Апреля, 2013 - 17:08:18
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Ejik пишет:
$this->rev[] = (array_reverse($this->alist));
- по какой-то причине Вы добавляете перевернутый список как элемент массива. Естественно, что у массива нет методов класса, которые Вы от него ожидаете.
Подозреваю, что достаточно переопределить метод так:
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Ejik
Отправлено: 17 Апреля, 2013 - 18:04:50
Гость
Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007
Помог: 0 раз(а)
EuGen, большое спасибо. Работает, хотя я особой разницы не вижу.
Давайте я прокоментирую свой код чтобы было видно из каких соображений он строился. Может и у кажете где, что я не правильно понял.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Ejik
Отправлено: 18 Апреля, 2013 - 12:17:05
Гость
Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007
Помог: 0 раз(а)
EuGen пишет:
по списку id
не понял, что имеете ввиду под id списка?
Но и то что я только разбераюсь с ООП Ваш метод уж сильно наворочен, трудно сейчас понять что куда
EuGen
Отправлено: 18 Апреля, 2013 - 12:19:41
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Ejik пишет:
не понял, что имеете ввиду под id списка?
Имеется ввиду, что можно удалить не только элемент с каким-то id, но и группу таких элементов. Как видно из метода, передаваться может как обычный id (тогда будет удалён только 1 элемент, если найдётся, разумеется), так и массив, содержащий id - тогда будут удалены все элементы с id из переданного списка. По поводу трудности понимания - достаточно вникнуть в описание array_filter и понять, что она делает.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Ejik
Отправлено: 18 Апреля, 2013 - 12:58:53
Гость
Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007
Помог: 0 раз(а)
в приведенном выше скрипте пхп ругается на syntax error, unexpected ')', expecting '{' in 4 строке
я из 7 строки ); перенес в конец 4 строки
вроде все правильно, почему он ругается?
и еще не понял function($rData) - что это за функция?
function($rData) use ($rgIDs) - и что это за конструкция, что она делает?
EuGen
Отправлено: 18 Апреля, 2013 - 13:02:49
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Приведённый выше код написан для PHP>=5.3
В коде используется замыкание. Почитать о них можете здесь
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Ejik
Отправлено: 18 Апреля, 2013 - 13:29:56
Гость
Покинул форум
Сообщений всего: 110
Дата рег-ции: Окт. 2007
Помог: 0 раз(а)
EuGen, а как то по проще нельзя это сделать?
EuGen
Отправлено: 18 Апреля, 2013 - 13:37:30
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Это и есть - одно из самых простых и логичных, на мой взгляд, решений.
Но если есть такое нежелание изучить новое, то можно и циклом:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.