В настоящее время я переписываю класс, который обрабатывает файлы xml. В зависимости от xml-файла и его структуры мне иногда нужно объединять объекты.Как объединить объекты в php?
Допустим, когда у меня есть это:
<page name="a title"/>
И еще раз, когда я это:
<page name="a title">
<permission>administrator</permission>
</page>
Раньше мне нужно было только атрибуты элемента "страницы". Вот почему многие из моего кода ожидают объект, содержащий только атрибуты ($ loadedXml-> attributes()).
Теперь есть XML-файлы, в которых требуется элемент
<permission>
.
Мне удалось объединить объекты (хотя и не так, как я хотел), но я не могу получить доступ к одному из них (скорее всего, это то, что мне не хватает).
Чтобы объединить свои объекты я использовал этот код:
(object) array_merge(
(array) $loadedXml->attributes(),
(array) $loadedXml->children()
);
Это то, что я получаю от print_r():
stdClass Object (
[@attributes] => Array ([name] => a title)
[permission] => Array ([0] => administrator)
)
Так что теперь мой вопрос, как получить доступ к метод @attributes и как перенести массивы из [@attributes] на главный объект?
Спасибо :) это было именно то, что мне было нужно! :) – tftd