[英]How to pull data from a php array if a certain value from the same array is given
我想基于给定的信息从PHP数组中提取信息。
PHP代码是
$xmlstring = file_get_contents('file.xml');
$xml = simplexml_load_string($xmlstring);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
$HotelCodes = array('BG01I9', 'BG53I4', 'BG23I7');
$code = $HotelCodes[1];
if (!$code) {
throw new Exception("No Hotel Code specified");
}
foreach ($HotelCodes as $code) {
foreach ($hotels as $hotel) {
if (strcasecmp($hotel['HotelCode'], $code) === 0) {
echo "{$hotel['Latitude']}:{$hotel['Longitude']}<br/>";
foreach ($hotel['HotelImages']['ImageUrl'] as $img) {
echo "<img src='{$img}'/><hr/>";
}
break;
}
}
}
一条记录为print_r $array
是(该数组有多条记录):
Array
(
[Hotel] => Array
(
[0] => Array (
[HotelCode] => BG01I9
[Latitude] => 42.6039
[Longitude] => 23.3954
[HotelImages] => Array (
[ImageURL] => Array (
[0] => http://image.metglobal.com/hotelimages/BG01I9/6481077_0x0.jpg
[1] => http://image.metglobal.com/hotelimages/BG01I9/6481092_0x0.jpg
[2] => http://image.metglobal.com/hotelimages/BG01I9/6481109_0x0.jpg
[3] => http://image.metglobal.com/hotelimages/BG01I9/6481139_0x0.jpg
[4] => http://image.metglobal.com/hotelimages/BG01I9/6481163_0x0.jpg
[5] => http://image.metglobal.com/hotelimages/BG01I9/6480990_0x0.jpg
[6] => http://image.metglobal.com/hotelimages/BG01I9/6481002_0x0.jpg
[7] => http://image.metglobal.com/hotelimages/BG01I9/6481015_0x0.jpg
[8] => http://image.metglobal.com/hotelimages/BG01I9/6481033_0x0.jpg
[9] => http://image.metglobal.com/hotelimages/BG01I9/6481058_0x0.jpg
)
)
)
)
我想根据我提供的HotelCodes来显示酒店图像,经度和纬度:酒店代码为$HotelCodes[0]
收到的错误是:
Fatal error: Uncaught exception 'Exception' with message 'No Hotel Code specified' in /home/truckass/public_html/site/test/teste.php:10 Stack trace: #0 {main} thrown in /home/truckass/public_html/siteo/test/teste.php on line 10
我需要回应HotelCodes[1]
$img[1][0] ....$img[1][5]
$Latitude[1]
$Longitude[1]
你能帮忙吗?
这是错误的:
$HotelCodes[] = array('BG01I9', 'BG53I4', 'BG23I7');
您应该省略第一个括号:
$HotelCodes = array('BG01I9', 'BG53I4', 'BG23I7');
现在,您可以使用$HotelCodes[1]
访问第二个代码。
在您的代码段中,您创建了一个带有数组的数组。 这本身是完全有效的,但是您应该使用$HotelCodes[0][1]
访问该值。
如果您想使用方括号,可以执行以下操作(> = 5.4):
$HotelCodes = ['BG01I9', 'BG53I4', 'BG23I7'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.