Почему в таком виде нельзя присваивать а читать пожалуйста

alexblade

Новичок
Почему в таком виде нельзя присваивать а читать пожалуйста

методом проб и ошибок
пришол к следующему

работает>
$x->day[0]['max'] = $y[0]['max']
$x->day[0]['max'] = $y->day[0]['max']

не работает>
$x[0]['max'] = $y[0]['max']
$x[0]['max'] = $y->day[0]['max']

почему второй вариант написания вызывает ошибку присвоения ?
(мануал читал - ответа не нашол)
 

baev

‹°°¬•
Команда форума
1. При чём тут «XML-технологии»?

2. Что такое «ошибка присвоения»?

3. Вы массив от объекта отличаете?
 

DiMA

php.spb.ru
Команда форума
про __set и __get читал?

xml притом, что smplexml выдает объект stdClass (кажись), а не массив
 

slach

Новичок
DiMA
он выдает SimpleXMLElement

но про __set и __get очень праивльно замечено =)
telepat mode on ;)
 

alexblade

Новичок
и $x и $y оба SimpleXMLElement

и я про то что в такую переменную $x->day[0]['max'] можно записать переменную $y
а в эту же переменную написанную немного иначе $x=$x->day; $х[0]['max'], ту же переменную $y уже не получается записать

сижу читаю про __set и __get , но пока не могу понять какое они имеют отношение к видонаписанию переменной пусть и закрытой :confused:
 

Alexandre

PHPПенсионер
и я про то что в такую переменную $x->day[0]['max']
это обращение к свойству объекта
а в эту же переменную написанную немного иначе $х[0]['max']
а это обращение уже к элементу массива

-~{}~ 25.08.09 14:24:

читаю про __set и __get , но пока не могу понять какое они имеют отношение
если не находится соответствующее свойство то выполняются:
__set() is run when writing data to inaccessible members.
__get() is utilized for reading data from inaccessible members.
делаем замену обращения ... на ...
 

alexblade

Новичок
спб!

-~{}~ 10.09.09 11:47:

Автор оригинала: Alexandre
а это обращение уже к элементу массива

-~{}~-

если не находится соответствующее свойство то выполняются:
__set() is run when writing data to inaccessible members.
__get() is utilized for reading data from inaccessible members.
делаем замену обращения ... на ...
да понятно, и т.к. такого массива нет то и не чему присваивать - ошибка. да , но тогда каким образом когда подобное обращение мы делаем справа от знака присвоения (то что хотим присвоить) то по обращение к элементу массива прекрасно найдется свойство объекта, каким образом ?
(ремарка - к чему присваиваем и что присваиваем два одинаковых xml объекта c разными именами , и из практики получается с какой стороны от знака присвоения будет такое обращение $х[0]['max'] получается не одинаковое поведение)

-----

делаем замену обращения на __get($х[0]['max']) но т.к. xml объект создается автоматически а не мной такой функции там нет ?
 
Сверху