1

我正在使用Wufoo api ( https://{subdomain}.wufoo.com/api/v3/forms/{formIdentifier}/entries.{xml|json} ) 试图获取我的所有条目,目前大约 150 , 作为一个 php 数组。Wufoo 将返回的条目数限制为 100。所以现在我有两个 php 数组,我想将它们连接/组合成一个数组。

到目前为止的代码:

$api_uri_1 = "https://example.wufoo.com/api/v3/forms/example-form/entries.json?pageStart=0&pageSize=100";
$api_uri_2 = "https://example.wufoo.com/api/v3/forms/example-form/entries.json?pageStart=1&pageSize=100";

function wufoo_api($api_uri) {
  $curl = curl_init($api_uri);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_USERPWD, 'WUFOO-API-KEY-HERE:password');
  curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_USERAGENT, 'Wufoo Sample Code');
  $response = curl_exec($curl);
  $resultStatus = curl_getinfo($curl);

  if ($resultStatus['http_code'] == 200) {
      $results = json_decode($response, true);
      return $results;
  } else {
      $results = 'Call Failed '.print_r($resultStatus);
      return $results;
  }
}

$result1 = wufoo_api($api_uri_1);
$result2 = wufoo_api($api_uri_2);

我尝试过但没有奏效的方法

$all_results = array_merge($result1, $result2);

和这样的东西

$all_results = $result1;
$all_results += $result2;

如何连接/组合 result1 和 result2

提前感谢您的帮助

更新:什么有效

感谢Ben,我意识到我需要使用数组键来定位我需要的数组部分。

$all_results = array_merge($result1['Entries'],$result2['Entries']); 
4

1 回答 1

2

json_decode 的结果将包含根元素(根据 api 的条目)。

您将通过 $result1['Entries'] 访问条目数组,因此要连接条目,您需要执行以下操作:

$all_results = array_merge($result1['Entries'],$result2['Entries']);

或者

$all_results = $result1['Entries'];
$all_results += $result2['Entries'];

同样对于失败的情况,它应该是

$results = 'Call Failed '.print_r($resultStatus,true);

(否则,您将输出 print_r 的结果而不是返回它)

于 2011-11-02T22:53:53.020 回答