我正在进行API集成。现在我有一个问题。 1我试图显示所有特定的城市酒店,我的数据库中有哪个城市。第一个FOREACH在我的数据库城市也搜索了它的搜索酒店,但在第二个FOREACH我试图显示第一个FOREACH城市酒店只显示匹配酒店,酒店从数据库匹配,但没有工作。
我的任务是:首先按城市搜索哪个城市在我的数据库中,第二次搜索第一次酒店,并显示酒店仅匹配我的数据库酒店。
第一个foreach:
if($RowCount>0){
foreach($Results as $Result){
foreach($api_array as &$value){
if($Result['county'] == $value['address']['city']){
$final_array[] = $value;
}
}
}
}
第二个foreach:
foreach($final_array as &$display){
var_dump($display);
if($Result['hotel'] == $display['property_name']){
$final_array2[] = $display;
}
}
var_dump“$ display”它运作良好,并显示匹配城市与数据库: property_name = "Jurys Inn Cork"
有我的数据库。我怎么才能展示这个Jurys Inn Cork阵列。
array (size=12)
'property_code' => string 'YXORKOHH' (length=8)
'property_name' => string 'Oriel House Hotel' (length=17)
'location' =>
array (size=2)
'latitude' => float 51.88801
'longitude' => float -8.60129
'address' =>
array (size=4)
'line1' => string 'Ballincollig' (length=12)
'city' => string 'Cork' (length=4)
'postal_code' => string '00000' (length=5)
'country' => string 'IE' (length=2)
array (size=12)
'property_code' => string 'UIORK970' (length=8)
'property_name' => string 'Cork Airport Hotel' (length=18)
'location' =>
array (size=2)
'latitude' => float 51.85213
'longitude' => float -8.48631
'address' =>
array (size=3)
'line1' => string 'Cork Airport' (length=12)
'city' => string 'Cork' (length=4)
'country' => string 'IE' (length=2)
array (size=12)
'property_code' => string 'JIORKCOR' (length=8)
'property_name' => string 'Jurys Inn Cork' (length=14)
'location' =>
array (size=2)
'latitude' => float 51.89956
'longitude' => float -8.46428
'address' =>
array (size=4)
'line1' => string 'Andersons Quay' (length=14)
'city' => string 'Cork' (length=4)
'postal_code' => string '00000' (length=5)
'country' => string 'IE' (length=2)
完整代码:
foreach($array as $api_array){
$final_array = array();
$Results = $wpdb->get_results( "select * FROM hotels where county = '$countyname'",ARRAY_A );
$RowCount = $wpdb->num_rows;
if($RowCount>0){
foreach($Results as $Result){
foreach($api_array as &$value){
if($Result['county'] == $value['address']['city']){
$final_array[] = $value;
}
}
}
}
foreach($final_array as &$display){
if($Result['hotel'] == $display['property_name']){
$final_array2[] = $display;
}
}
}
答案 0 :(得分:0)
在第二个foreach循环中替换它。
foreach($Results as $Result){
foreach($final_array as &$display){
if($Result['hotel'] == $display['property_name']){
$final_array2[] = $display;
}
}
}