>source

NASA의 웹 사이트에서 '근접 지구 개체'의 API 정보를 검색하는 스크립트를 작업 중입니다. 사용자가 날짜를 선택하고 API가 정보를 가져와 표시합니다. 이 스크립트에서 foreach를 어떻게 수정합니까? 이것에 대한 도움을 주시면 감사하겠습니다.

$jsonAsteroids = file_get_contents("https://api.nasa.gov/neo/rest/v1/feed?start_date=2018-08-01&end_date=2018-08-04&api_key=NNKOjkoul8n1CH18TWA9gwngW1s1SmjESPjNoUFo");
$data = json_decode($jsonAsteroids, true);
echo "<h4>Retrieving the first element (i.e. \"links\") of the JSON structure</h4>";
var_dump( $data["links"]);
echo "<h4>Retrieving the first element (i.e. \"next\") inside the \"links\" element</h4>";
echo( $data["links"]["next"]);

  • 답변 # 1

    당신은 아주 가까웠습니다. 귀하의 주요 문제는 json_decode(..., true); 배열을 제공하지만 object [ 'property'] 대신 object->property 구문을 사용했습니다. 내 제안은 json_decode 이 경우 두 번째 인수없이.

    마지막으로 두 번째 foreach 형식이 잘못되었습니다.

    <?php
    $result = file_get_contents("https://api.nasa.gov/neo/rest/v1/feed?start_date=2018-08-01&end_date=2018-08-04&api_key=NNKOjkoul8n1CH18TWA9gwngW1s1SmjESPjNoUFo");
    $data = json_decode($result);
    
    foreach ($data->near_earth_objects as $date => $objects) {
        echo "<p>" . count($objects) . " objects detected on $date</p>";
        echo "<ol>";
        foreach ($objects as $object) {
            echo "<li>" . $object->name . " <a href='" . $object->nasa_jpl_url . "'>" . $object->nasa_jpl_url . "</a><br>";
            echo "Diameter of the object: " . $object->estimated_diameter->meters->estimated_diameter_min . "-" . $object->estimated_diameter->meters->estimated_diameter_max . " metres<br>";
            echo "<ul>";
            foreach ($object->close_approach_data as $close_approach) {
                echo "<li>Close approach: " . $close_approach->close_approach_date . " traveling at a velocity of " . $close_approach->relative_velocity->kilometers_per_hour . " km/h " . "missing " . $close_approach->orbiting_body . " by " . $close_approach->miss_distance->kilometers . " km</li> ";
            }
            echo "</ul>";
        }
        echo "</ol>";
    }
    
    

  • 이전 python - matplotlib에서 반대 방향 (아래쪽)으로 세 번째 y 축을 추가하는 방법은 무엇입니까?
  • 다음 playframework - 청크 전송 인코딩을 사용하여 Scala Play 서버에서 케이스 클래스 객체 스트리밍