mam problem, który po prostu przerasta moją jaźn. mam w kodzie php zmienną zdefiniowaną z elementu innej tablicy i owa zmienna raz zachowuje się jak tablica a przy innym rodzaju wywołania jak zwykły string.
już tłumaczę - wyciągam z pliku xml-owego konkretne węzły biblioteką SimpleXML (wykorzystując ścieżki Xpath), nie będę wyjaśniał całego kodu tylko skupię się na fragmencie:
foreach ($paths as $path) { $data = $content->xpath($path); $data2 = $data[$i]; }
teraz tak: $content to dokument html, z którego wyciągam dane, $paths to zestaw ścieżek, no a $path to pojedyncza ścieżka (np. '//a'). to tłumaczę pro forma bo to działa. $data to skomplikowana tablica SimpleXML, zawierająca m. in. dane mnie interesujące, fragment tego wygląda tak:
[0] => SimpleXMLElement Object ( [@attributes] => Array ( [onclick] => gbar.logger.il(1,{t:1}); [class] => gbzt gbz0l gbp1 [id] => gb_1 ) [span] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [class] => gbtb2 ) ) [1] => Wyszukiwarka ) ) )
i teraz coś czego nie rozumiem, echo '<td>'.$data[$i].'</td>'; drukuje mi co innego (to co zażądałem ścieżką xpath), natomiast wydrukowanie TEJ SAMEJ zmiennej print_r daje mi taką rozbudowaną tablicę, to samo z co innego,
czy ktoś wie dlaczego tak się dzieje?