1 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
你是對(duì)的,$xml->Image[0]->img['src']
會(huì)給你屬性,但它會(huì)把它作為一個(gè)對(duì)象src
給你。
如果你運(yùn)行print_r($xml->Image[0]->img['src']);
它會(huì)向你顯示:
SimpleXMLElement?Object( ????[0]?=>?https://image.com?id=123)
但如果你echo $xml->Image[0]->img['src'];
改為運(yùn)行,它會(huì)給你這個(gè):
https://image.com?id=123
原因是SimpleXMLElement 類實(shí)現(xiàn)了神奇的重載方法__toString
(或其在內(nèi)部 C 代碼中的等效方法),因此每當(dāng)您將對(duì)象轉(zhuǎn)換為字符串時(shí),它都會(huì)為您提供字符串內(nèi)容。由于echo
始終需要一個(gè)字符串,因此它隱式執(zhí)行此操作,但您可以使用 顯式執(zhí)行此操作(string)
,例如:
$imageSrc?=?(string)$xml->Image[0]->img['src']; var_dump($imageSrc);
(順便說(shuō)一句,[0]
始終是可選的 - 如果您不提供數(shù)字,SimpleXML 會(huì)假設(shè)您想要唯一或第一個(gè)具有該名稱的子項(xiàng),因此、$xml->Image->img['src']
和都會(huì)給出相同的結(jié)果。)$xml->Image[0]->img['src']
$xml->Image->img[0]['src']
$xml->Image[0]->img[0]['src']
- 1 回答
- 0 關(guān)注
- 382 瀏覽
添加回答
舉報(bào)