Mam tablicę jak ten:PHP: Zwraca tablicę z funkcji rekurencyjnej
SimpleXMLElement Object
(
[BrowseNodes] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 969391031
[Name] => Bambine e ragazze
[Children] => SimpleXMLElement Object
(
[BrowseNode] => Array
(
[0] => SimpleXMLElement Object
(
[BrowseNodeId] => 969394031
[Name] => Calze
)
[1] => SimpleXMLElement Object
(
[BrowseNodeId] => 3635837031
[Name] => Felpe
)
[2] => SimpleXMLElement Object
(
[BrowseNodeId] => 3635838031
[Name] => Giacche
)
[3] => SimpleXMLElement Object
(
[BrowseNodeId] => 3635839031
[Name] => Guanti da giocatore
)
[4] => SimpleXMLElement Object
(
[BrowseNodeId] => 969392031
[Name] => Maglie
)
[5] => SimpleXMLElement Object
(
[BrowseNodeId] => 4351854031
[Name] => Maglie per tifosi
)
[6] => SimpleXMLElement Object
(
[BrowseNodeId] => 3635840031
[Name] => Magliette da portiere
)
[7] => SimpleXMLElement Object
(
[BrowseNodeId] => 969393031
[Name] => Pantaloncini
)
[8] => SimpleXMLElement Object
(
[BrowseNodeId] => 3635841031
[Name] => Pantaloncini da portiere
)
[9] => SimpleXMLElement Object
(
[BrowseNodeId] => 3635842031
[Name] => Pantaloni
)
[10] => SimpleXMLElement Object
(
[BrowseNodeId] => 3635843031
[Name] => Tute da ginnastica
)
)
)
[Ancestors] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 969386031
[Name] => Abbigliamento
[Ancestors] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 937258031
[Name] => Calcio
[Ancestors] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 524013031
[Name] => Categorie
[IsCategoryRoot] => 1
[Ancestors] => SimpleXMLElement Object
(
[BrowseNode] => SimpleXMLElement Object
(
[BrowseNodeId] => 524012031
[Name] => Sport e tempo libero
)
)
)
)
)
)
)
)
)
)
)
Co muszę zrobić, to zbudować nawigacyjnego korzystając Anchestors. Ten, który znajduje się na końcu listy, powinien być pierwszy. Tak więc, jako przykład:
Sport e tempo libero> Kategoria> calcio ...
Próbuję iteracyjne XML z funkcji w ten sposób bez powodzenia:
$rec=$result->BrowseNodes->BrowseNode->Ancestors->BrowseNode;
$bread=array();
function recursive($r)
{
do{
$bread[]=$r->BrowseNodeId;
recursive($r->Ancestors->BrowseNode);
}while(isset($r->Ancestors));
$bread=array_reverse($bread);
return $bread;
}
print_r(recursive($rec));
I znalazłem coś podobnego na stackoverflow, ale żadne sugestie nie pomogły mi rozwiązać tego problemu.
nie rozumiem: skąd 'Fan shop' pochodzi? – cFreed
mój błąd. Edytowałem posta – Luca
Czy możesz wkleić gdzieś swój kod XML? Chciałbym przetestować moje rozwiązanie, aby upewnić się, że działa. – quickshiftin