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 :: Работа с массивами, объявленными в классе. Возможно ли через __set?
Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Ребят, подскажите, пожалуйста, можно ли как-то в класс передать значение массива. Точнее, если у меня есть public переменная, я знаю, что это массив, могу ли я как-то задать значение типа:
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
InviS
Отправлено: 10 Мая, 2011 - 09:09:44
Гость
Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Ага.. понятно. Скажите, А при таком раскладе получается, что для того, чтоб добавить еще одну переменную к нашему массиву, то его надо сначала извлечь, добавить и переприсвоить?
Так получается? если не брать во внимание существование переменной $rgData (может мы ее очистим или переприсвоим... Можно ли как-то без этого "туда-обратно"? или только так?
EuGen
Отправлено: 10 Мая, 2011 - 09:13:59
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Можно так, но обычно я предпочитаю не использовать {..}
А когда пишу конструкцию, которую я указал во второй строчке, то тупо ничего не происходит. Можно ли как-то узнать имя, индекс и значение в таком случае?
EuGen
Отправлено: 10 Мая, 2011 - 09:28:06
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
__set устанавливает значение тогда, когда происходит обращение к необъявленному свойству.
Стало быть, если у Вас есть скалярное свойство, которое объявлено, __set не вызовется и для него.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
InviS
Отправлено: 10 Мая, 2011 - 09:30:54
Гость
Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
EuGen, я это понял. Но если мой массив (будущий) еще не был объявлен, то я никак не могу узнать имя и ключ, которому я пытаюсь присвоить значение? (также, как переменной)
EuGen
Отправлено: 10 Мая, 2011 - 09:43:11
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
InviS
Отправлено: 10 Мая, 2011 - 10:00:22
Гость
Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
Ну у меня тоже. Я же сделал приписку, что если закомментировать последний var_dump, который сделан для вывода объекта, то получим всего две строчки. У вас то же.
Смотрите, по сути сработал __set только для
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.