我正在尝试从我提供HotelCode的php数组中提取ImageUrl
, Lat 和 Long :{{1} }
我的XML文件类似于以下代码:
$hotelCode
我的PHP代码是:
<Hotels>
<Hotel>
<HotelCode>Code<HotelCode>
<Latitude>Lat</Latitude>
<Longitude>Long</Longitude>
<HotelImages>
<ImageURL>file.jpg</ImageURL>
<ImageURL>file2.jpg</ImageURL>
....
</HotelImages>
</Hotel>
....
</Hotels>
我尝试了一些不同的方法,但没有一种方法有效。
答案 0 :(得分:0)
好吧,首先你的xml中有错误。
<HotelCode>Code<HotelCode>
应该是:
<HotelCode>Code</HotelCode>
之后,您可以使用以下方式获取图像:
$hotels['Hotel']['HotelImages']['ImageURL'][0];
和
$hotels['Hotel']['HotelImages']['ImageURL'][0];
并且长期分别是:
$hotels['Hotel']['Latitude'];
$hotels['Hotel']['Longitude'];
您可以使用foreach循环[Hotel]数组,并检查[HotelCode]元素是否与您提供的元素相同,然后返回lat和long属性。
foreach ($hotels as $hotel) {
if($hotel['HotelCode'] == 'YourCode'){
echo $hotel['Latitude'];
echo $hotel['Longtitude'];
}
}
答案 1 :(得分:0)
使用array_keys
$hotelCodes = array_keys($hotels, "HotelCode");
这将使用键“HotelCode”返回所有值。然后你可以用这些值循环数组。
foreach ($hotelCodes as $code)
{
$iUrls = $hotels[$code]['HotelImages']['ImageURL'];
foreach ($iUrls as $iUrl)
{
echo $iUrl;
}
echo $hotels[$code]['Latitude'];
echo $hotels[$code]['Longitude'];
}