首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在curl GET请求之后循环通过多维数组

在curl GET请求之后循环通过多维数组
EN

Stack Overflow用户
提问于 2019-06-04 07:30:46
回答 1查看 73关注 0票数 0

在成功执行curl GET request之后,只有当我的数据转储显示有10个结果时,我才能从请求中回显索引。不确定我的循环做错了什么,这样我就可以显示所有10个结果。

foreach循环,for循环。

代码语言:javascript
复制
<!-- Search Results -->
 <?php
if(isset($_GET['submit'])){

    /** Get User Input From Form Fields **/
    $provider_first_name = $_GET['first_name'];
    $provider_last_name = $_GET['last_name'];
    $provider_state = $_GET['state'];
    $provider_postal_code = $_GET['postal_code'];

    /** Initialize curl/API Request **/
    $curl = curl_init();
    curl_setopt_array($curl, array(
                          CURLOPT_URL => "https://npiregistry.cms.hhs.gov/api?first_name=". $provider_first_name . "&last_name=" . $provider_last_name . "&state=" . $provider_state . "&postal_code=" . $provider_postal_code . "",
                          CURLOPT_RETURNTRANSFER => true,
                          CURLOPT_ENCODING => "",
                          CURLOPT_MAXREDIRS => 10,
                          CURLOPT_TIMEOUT => 30,
                          CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                          CURLOPT_CUSTOMREQUEST => "GET",
                          ));

    /** Execute curl Response **/
    $response = curl_exec($curl);
    /** Assign Possible curl Errors **/
    //$err = curl_error($curl);
    /** Close the curl Request **/
    //curl_close($curl);
    /** If Error Echo Message **/
    //if ($err === true) {
    //echo "<div class='col-md-12 col-sm-12 flex-center flex-column'><div class='alert alert-danger'><i class='fa fa-hand-paper-o' aria-hidden='true'></i> Please Try Search Again: " . $err . "</div></div>"; 
    //} 

    /** Else, Decode JSON Response and Echo Search Results **/
    $json = json_decode($response, TRUE);
    //
    if($json['results'][0] === null || $json['results'][0] == FALSE || $json['results'][0] == ''){
        echo "<div class='col-md-12 col-sm-12 flex-center flex-column'><div class='alert alert-warning'><p class='small'><i class='fa fa-hand-paper-o' aria-hidden='true'></i> Please Try Searching Again. The Provider You Are Looking For Could Not Be Located. Alternatively, You Can Post Your Health Care Provider Details by Clicking Here.</p></div></div>";
    }else{
        //
        var_dump($json);
        foreach($json as $doc){
            /** JSON Responses Listed Below **/
            $p_name = $doc['results'][0]['basic']['first_name'] . " " . $doc['results'][0]['basic']['last_name'] . ", " . $doc['results'][0]['basic']['credential'];
            $p_npi = $doc['results'][0]['number'];
            $p_address_one = $doc['results'][0]['addresses'][0]['address_1'];
            $p_address_two = $doc['results'][0]['addresses'][0]['city'] . ", " . $doc['results'][0]['addresses'][0]['state'] . " " . $doc['results'][0]['addresses'][0]['postal_code'];
            $p_phone = $doc['results'][0]['addresses'][1]['telephone_number'];

            //** Echo Responses In Blue-Bordered Card **/
            echo "
                  <div class='col-md-4 col-sm-12 wow fadeIn' style='padding-top: 9px;'>
                      <div class='card border border-primary mb-3' style='max-width: 18rem;'>
                          <div class='card-header text-center'>
                              <i class='fa fa-user-md' aria-hidden='true'></i> ".$p_name."
                          </div>
                          <div class='card-body text-primary text-center'>
                              NPI Number: ".$p_npi."
                          </div>
                          <p class='card-text text-center'>
                              <i class='fa fa-map-marker' aria-hidden='true'></i> ".$p_address_one." 
                          </p>
                          <p class='card-text text-center'>
                              ".$p_address_two." 
                          </p>
                          <p class='card-text text-center'>
                              <i class='fa fa-phone cyan-text' aria-hidden='true'></i> ".$p_phone."
                          </p>
                          <form action='' method='post'>
                          <div class='flex-center'>
                              <button class='btn btn-sm btn-cyan' type='submit' name='post_doc'><i class='fa fa-plus-circle' aria-hidden='true'></i> Add Provider</button>
                          </div>
                          </form>
                      </div> 
                  </div>
                  ";
        }
    }
}
?>
<!-- /Search Results -->

var_dump($json);正在正确显示,可我的回显不起作用。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56435692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档