![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| skifoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 23.1.2006 Где: Россия Репутация: нет Всего: 1 |
Никак не могу понять как можно реализовать в классе $m
такую конструкцию: $m->obj['abc']->empty(); пусть будет obj в классе - ассоциативный массив а empty() это функция для проверки? задан ли элемент массива или нет. Вот все никак не могу понять как можно передать обьект переменной obj['abc'] Если кто знает подскажите, или приведите пример. |
|||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
Что-то ты совсем нехорошее делаешь.
Запихивай obj['abc'] в empty() как параметр:
Или я тебя не совсем понял. |
|||
|
||||
| Messenger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 16.2.2006 Репутация: нет Всего: 1 |
Может этак?
|
|||
|
||||
| skifoz |
|
||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 23.1.2006 Где: Россия Репутация: нет Всего: 1 |
Ты меня не так понял. В твоем случае код стал бы выглядеть не так
а вот так
Что собственно меня не удовлетворяет, это слишком легко так сказать. Этот вариант ::
более ближе к моему вопросу, но тоже слишком легко. Мне нужно чтоб это можно было сделать создав всего один класс, то есть переменная $obj это переменная класса $m , и функция empty() тоже из этого класса. Вот и думаю как можно это реализовать, знаю что можно но не понял пока как... Вообщем хочу разобратся в этом... |
||||||||||
|
|||||||||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 3 Всего: 67 |
Но ведь конструкция "->" — это доступ к методу или полю объекта, т.е. получается, что $m->obj['abc'] — ссылка на поле obj['abc'] объекта $m, а $m->obj['abc']->empty(); — метод объекта, родитель которого obj['abc'], который в свою очередь потомок $m. Из этого следует, что в операции участвует 2 объекта. |
|||
|
||||
| smartov |
|
||||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Ciber SLasH,
А у него наверное элементы массива obj - тоже обьекты такого же класса, в который они входят. Классовая рекурсия эдакая ;\ Нафига правда не пойму.
Вопрос в одном. Если все равно можно проверить существование любого элемента массива через (кроме очень отдельных случаев, типа интегера 0, или пустой но все же существующей строки, и т.п.)
то зачем себе голову ломать и функцию писать. Тем более членом класса. |
||||
|
|||||
| skifoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 23.1.2006 Где: Россия Репутация: нет Всего: 1 |
Функцию не собираюсь писать блин, это чисто для саморазвития, просто не знаю как сделать вот и спросил... думаю вдруг кто нибдуть знает... понятно дело есть куча способов реализовать данную функцию, только зачем? функция придумана чисто для примера, чтобы понять как, куда, чего, что требуется.
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |