在php中读取Json Curl内容的结果

在php中读取Json Curl内容的结果,php,json,curl,Php,Json,Curl,我在下面有一个json输出,我正在尝试获取它的内容 {"content":"people", "nextLink":"https://example.com/people?$skip=3", "value":[ { "id":"100","displayName":"Room Rainier", "Addresses":[{"location":"12 orlando street","Spore":8.0}], "phones":[{"type":"home","number":"10000

我在下面有一个json输出,我正在尝试获取它的内容

{"content":"people",
"nextLink":"https://example.com/people?$skip=3",
"value":[

{
"id":"100","displayName":"Room Rainier",
"Addresses":[{"location":"12 orlando street","Spore":8.0}],
"phones":[{"type":"home","number":"10000000000"}],
"personType":{"class":"new","subclass":"Room1"}
},

{
"id":"102","displayName":"Tony Blur",
"Addresses":[{"location":"19 saco street","Spore":4.0}],
"phones":[{"type":"business","number":"1080000000"}],
"personType":{"class":"Other","subclass":"Room2"}
},

{
"id":"103","displayName":"veronica huges",
"Addresses":[{"location":"6 nano street","Spore":7.0}],
"phones":[{"type":"business","number":"111000000"}],
"personType":{"class":"old","subclass":"Room5"}
}]}
下面是我在PHP中工作的Json Curl

<?php 
session_start();
$curl = curl_init();
curl_setopt_array($curl, array( 

CURLOPT_URL => "https://example.com/people",
CURLOPT_RETURNTRANSFER => true, 
CURLOPT_ENCODING => "", 
CURLOPT_MAXREDIRS => 10, 
CURLOPT_TIMEOUT => 30, 
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
//CURLOPT_CUSTOMREQUEST => "GET", 
//CURLOPT_POSTFIELDS => "$data", 
CURLOPT_HTTPHEADER => array( 
"authorization: Bearer --my bearer goes here--"
), 
));
$response = curl_exec($curl); 
$err = curl_error($curl);
curl_close($curl);
$res=json_decode($response);
$res1=json_decode($response, true);
$js = json_decode($response, true);
echo '<pre>' . print_r($response, true) . '</pre>';
$re = $js['value'];
foreach ($re as $value1) {
  echo $value1['id'];
   echo '<br>';
 echo $value1['Addresses']['location'];
   echo '<br>';

   echo $value1['phones']['type'];
   echo '<br>';
}
if ($err) { 
echo "cURL Error #:" . $err; 
} else { 
//echo $response; 
}
?>

我的成功 我能够为每个循环获取id
**(echo$value1['id'])***
的所有值

我的问题

1.)我无法为每个循环分别获取地址位置
**(echo$value1['Addresses']['location'])**
和电话类型
**(echo$value1['phones']['type'])**
的值,因为它没有显示任何内容

2.)json文件具有下一个链接选项
“下一个链接”:https://example.com/people?$skip=3“


如何基于链接显示更多用户/人员数据。谢谢

地址和电话都是数组,因此如果您想获得第一个地址,可以使用索引0,或者如果有多个地址或电话,可以使用循环获取所有地址或电话

如果有下一个链接,您应该请求下一个链接,只需在下一个链接中再次使用curl

如果您为此创建一个函数,然后使用下一个链接再次调用该函数,则会更容易

foreach ($re as $value1) {
    /**
     * To get the first address and phone use index 0
     */
    echo $value1['Addresses'][0]['location'];
    echo $value1['phones'][0]['type'];

    /**
     * Loop to get all addresses and phones
     */
    foreach($value1['Addresses'] as $address) {
        echo $address['location'];
    }

    foreach($value1['phones'] as $phone) {
        echo $phone['type'];
    }
}