Autor Zpráva
Ladicek
Profil *
Potřebuji vypsat všechny města s výpisem: Praha|Brno|České Budějovice| ... apod. Bohužel ale implode háže chybu (viz. níže)

$xml = '
<XML>
<CITIES>
<CITY>Praha</CITY>
<CITY>Brno</CITY>
<CITY>České Budějovice</CITY>
<CITY>Hradec Králové</CITY>
<CITY>Jihlava</CITY>
<CITY>Karlovy Vary</CITY>
<CITY>Liberec</CITY>
<CITY>Olomouc</CITY>
<CITY>Ostrava</CITY>
</CITIES>
</XML>
';

$x = simplexml_load_string($xml);
$mesto = $x->CITIES->CITY;
echo implode("|", $mesto); 
Warning: implode() [function.implode]: Invalid arguments passed in ....
Tori
Profil
$mesto je kolekce prvků, ne pole. Dá se na pole přetypovat. Jednotlivé prvky nejsou řetězce, ale objekty, které se na řetězec (= textovou hodnotu) dají přetypovat. Takže třeba tohle by fungovalo: echo implode('|', array_map('strval', (array) $mesto)); Ale bezpečnější (a jednodušší na případné úpravy) bude prostě cyklem procházet $mesto a jednotlivé prvky vypisovat (s přetypováním na řetězec).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: