【问题标题】:Looping through cURL json array result循环遍历 cURL json 数组结果
【发布时间】:2018-03-09 17:56:06
【问题描述】:

我一直在尝试这样做。我有一个使用 cURL 的 api 请求。目前我可以执行 cURL 函数并使用 json 对其进行编码。我可以 print_r() 给我返回一个结果的数组元素。但是,我从 25 个元素的 api 返回,我只需要返回 25 个元素的 id。我已经包含了数组的 var_dump() 来为您提供数组的屏幕截图。该列表迭代到 24 个元素。我需要 25 个 ID

下面是我的代码

<?php 


$url = 'https://api.getbase.com/v2/lead_sources?sort_by=name:desc';


//Initiate cURL.
$chbase_user = curl_init($url);

curl_setopt($chbase_user, CURLOPT_RETURNTRANSFER, true);

curl_setopt($chbase_user, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4','Accept: application/json','Authorization: Bearer inserted here')); 


$result_base_user = curl_exec($chbase_user);

$data_result_base_user = json_decode($result_base_user,true);






echo '<pre>';
print_r($data_result_base_user['items'][0]['data']['id']);
var_dump($data_result_base_user );// Below is the result of this

?>



array(2) {
["items"]=>
array(25) {
  [0]=>
  array(2) {
    ["data"]=>
    array(6) {
      ["id"]=>
      int(154808)
      ["created_at"]=>
      string(20) "2015-11-09T09:25:55Z"
      ["updated_at"]=>
      string(20) "2018-03-08T16:43:31Z"
      ["name"]=>
      string(17) "X - Zopim IM Chat"
      ["creator_id"]=>
      int(675478)
      ["resource_type"]=>
      string(4) "lead"
    }
    ["meta"]=>
    array(1) {
      ["type"]=>
      string(6) "source"
    }
  }

【问题讨论】:

    标签: php


    【解决方案1】:

    遍历$data_result_base_user['items'],将id保存在数组中并返回该数组

    $ids = array();
    
    foreach ($data_result_base_user['items'] as $key => $value) {
        $ids[]=$value['data']['id']; // assuming all element have same structure
    }
    
    return $ids;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-12
      • 2011-01-03
      • 1970-01-01
      • 2015-07-22
      • 2013-08-16
      • 2011-06-11
      • 2013-02-06
      • 1970-01-01
      相关资源
      最近更新 更多