我对foreach
有一些疑问。
我通过curl
发出请求,并在XML
收到回复,例如:
<HotelList>
<HotelSummary id=848484>
<hotel>prova</hotel>
<address>via bho</address>
<thumbNailUrl>/hotels/1000000/530000/526200/526198/526198_38_t.jpg</thumbNailUrl>
</HotelSummary>
</HotelList>
如何更改每个
<thumbNailUrl>/hotels/1000000/530000/526200/526198/526198_38_t.jpg</thumbNailUrl>
到
<img src="$$server$$/hotels/1000000/530000/526200/526198/526198_38_t.jpg>
是否可以使用foreach
执行此操作?
答案 0 :(得分:1)
$xmlObj = simplexml_load_string($your_xml_response);
foreach($xmlObj->HotelSummary as $hotel) {
$imgSrc = "$$server$$" . $hotel->thumbNailUrl;
}
答案 1 :(得分:0)
不,不是单独使用foreach
循环
是的,使用foreach
循环是开始的好方法。
例如,您可以迭代SimpleXml对象。请参阅PHP SimpleXML manual开始使用基础知识。总是还要看一下评论,因为它们提供了很多例子。
答案 2 :(得分:0)
有2种解决方案
在foreach中
foreach($xmlarray as $key => $val)
{
$fileInfo = pathinfo($val);
if(in_array($fileInfo['extension'],array("jpg","jpeg","gif","png","tiff"))
{
$val = "<img src='".$serverpath.$val."' >";
}
}
OR
foreach($xmlarray as $key => $val)
{
if(in_array( substr(strrchr($val,'.'),1),array("jpg","jpeg","gif","png","tiff"))
{
$val = "<img src='".$serverpath.$val."' >";
}
}