Я очень новичок в работе с API, использующими PHP. Простой возврат API Я в порядке с обработкой. У этого, однако, есть как слои, так и слои сложности, которые находятся за пределами моей сковороды. Мне удалось написать некоторый вероятный WAY-код избыточного кода, чтобы справиться с простой печатью на экране всех значений. Мне нравится делать это, когда я учусь, чтобы видеть результаты того, что, по моему мнению, происходит, чтобы проверить, и видеть ошибки по мере продвижения вперед.
На самом деле все, что мне действительно нужно, это 2 значения из этого беспорядка; LAT & LONG для адреса, который я проверяю.
Нет ли лучшего способа выбрать следующие значения?
- LAT = $ data ['results'] ['location'] [latLng]. {Lat: 39.78373}
- LONG = $ data ['results'] ['location'] [latLng]. {Lng: -100.445882}
Я бы предпочел не зацикливаться, как показано ниже, просто установить 2 переменные в середине
<?PHP
$data = json_decode('{"info":{"statuscode":0,"copyright":{"text":"\u00A9 2019 MapQuest, Inc.","imageUrl":"http://api.mqcdn.com/res/mqlogo.gif","imageAltText":"\u00A9 2019 MapQuest, Inc."},"messages":[]},"options":{"maxResults":-1,"thumbMaps":true,"ignoreLatLngInput":false},"results":[{"providedLocation":{"location":"2032 Hopkins Mill Rd,Roswell 30077,GA"},"locations":[{"street":"","adminArea6":"","adminArea6Type":"Neighborhood","adminArea5":"","adminArea5Type":"City","adminArea4":"","adminArea4Type":"County","adminArea3":"","adminArea3Type":"State","adminArea1":"US","adminArea1Type":"Country","postalCode":"","geocodeQualityCode":"A1XXX","geocodeQuality":"COUNTRY","dragPoint":false,"sideOfStreet":"N","linkId":"0","unknownInput":"","type":"s","latLng":{"lat":39.78373,"lng":-100.445882},"displayLatLng":{"lat":39.78373,"lng":-100.445882},"mapUrl":"http://open.mapquestapi.com/staticmap/v5/map?key=123456&type=map&size=225,160&locations=39.7837304,-100.4458825|marker-sm-50318A-1&scalebar=true&zoom=2&rand=-1073424276"}]}]}',true);
foreach($data as $key => $child) {
if(is_array($child)){
foreach($child as $keya => $a){
if(is_array($a)){
foreach ($a as $keyb =>$b) {
if(is_array($b)){
foreach($b as $keyc => $c){
if(is_array($c)){
foreach($c as $keyd =>$d){
if(is_array($d)){
foreach($d as $keye =>$e){
echo "<b>". $keye . "</b> : " . $e . '</br>';
}
} else {
echo "<b>". $keyd . "</b> : " . $d . '</br>';
}
}
} else {
echo "<b>". $keyc . "</b> : " . $c . '</br>';
}
}
} else {
echo "<b>". $keyb . "</b> : " . $b . "</br>";
}
}
} else {
echo "<b>". $keya . "</b> : " . $a . "</br>";
}
}
} else {
echo "<b>". $key . "</b> : " . $child . "</br>";
}
}
?>