2016-11-15 52 views
-1

デコードされたJSONレスポンスに問題があります。PHPでJSONデコードされた配列からすべての値を抽出する方法がわかりません。JSON配列からの値の抽出

私のスクリプトは、このようなものです:

$adresse= $_POST['address']; 
$url = 'http://my/host/folder/api'; 
$data = array(
    "value" => $adresse, 
); 
$data_string = json_encode($data); 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_USERPWD, "some_user:somepassword"); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
curl_setopt($ch, CURLOPT_VERBOSE, TRUE); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_HTTPHEADER, 
       array('Content-Type:application/json', 
        'Content-Length: ' . strlen($data_string)) 
       ); 
$resp = curl_exec($ch); 
curl_close($ch); 
$json_response = var_dump(json_decode($resp, true)); 
echo 'test = '.$json_response[1]['zipcode']; 

このコードは、このような配列を返します。

array(1) { 
    ["eligibilities"]=> array(1) { 
     [0]=> array(2) { 
      ["address"]=> array(5) { 
       ["zipcode"]=> string(5) "60000" 
       ["city"]=> string(9) "SomeCITY" 
       ["streetName"]=> string(17) "SomeSTreetName" 
       ["streetNumber"]=> string(2) "17" 
       ["idRA"]=> string(10) "SomeIDRA" 
      } 
      ["broadBand"]=> array(5) { 
       ["eligible"]=> bool(true) 
       ["type"]=> string(10) "SomeType" 
       ["maxDownstream"]=> int(20000) 
       ["maxUpstream"]=> int(1000) 
       ["tvEligible"]=> bool(false) 
      } 
     } 
    } 
} 

私は結果で作業できるように、変数に、この配列内のすべての値を解析したいです。

答えて

0

は、あなたがこれを行うときvar_dumpはそう、値を返さないことに注意してください:

$json_response = var_dump(json_decode($resp, true)); 

...その後$json_responsenullになります。

これらの内部値にアクセスするには、データに複数のネストされたレベルが含まれていることを忘れないでください。各レベルのキーについて言及する必要があります。だから、次の操作を行います。

$result = json_decode($resp, true); 
var_dump($result); 
echo 'test = ' . $result['eligibilities'][0]['address']['zipcode']; 

NBを:呼び出すことはありませんあなたのjson_decode後の変数$json_responce、それはもはやJSONが、ネイティブのPHPの配列ではありませんので。

関連する問題