我是一个新手编码器,这是我第一次使用PHP和cURL。我正在进行一个API调用,为此我已经设置了一个cURL请求,让我返回一个JSON对象。PHP循环cURL API调用
我现在要做的是设置cURL调用来循环$ payers数组,这个$ payers数组包含多个$ payer_id,我希望一次创建和个别请求,打印出一个PRETTY_PRINT JSON对象并从$ payers数组中创建下一个$ payer_id的下一个请求。
这是我设置的代码,显然是为了安全目的info和api url是假的,但这是我现在使用的结构。就像我之前提到的那样,如果您删除了代码的foreach部分,并手动输入$ payer_id编号到我拥有的代码中,它将起作用并返回我想要的JSON对象...但我希望能够设置代码使用$ payers数组并为我打印出JSON对象。
任何帮助,指导将不胜感激。谢谢!
<?php
/* API url*/
$url = 'https://testapi.com/cov/all.json';
$payers = array("00002", "00112");
/* Assign parameter values here */
foreach ($payers as $payer) {
$api_key = '1111122222233333';
$payer_id = echo "$payer";
$provider_first_name = 'laura';
$provider_last_name = 'brown';
$provider_npi = '444445555';
$member_first_name = 'billy';
$member_last_name = 'bob';
$dependent_ssn = '111-22-3333';
$member_dob = '1988-11-11';
/* $_GET Parameters to Send */
$params = array(
'api_key' => $api_key,
'payer_id' => $payer_id,
'provider_first_name' => $provider_first_name,
'provider_last_name' => $provider_last_name,
'provider_npi' => $provider_npi,
'member_first_name' => $member_first_name,
'member_last_name' => $member_last_name,
'dependent_ssn' => $dependent_ssn,
'member_dob' => $member_dob
);
/* Update URL to container Query String of Paramaters */
$url .= '?' . http_build_query($params);
/* cURL Resource */
$ch = curl_init();
/* Set URL */
curl_setopt($ch, CURLOPT_URL, $url);
/* Tell cURL to return the output */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
/* Execute cURL, Return Data */
$curl_response = curl_exec($ch);
curl_close($ch);
$decoded = json_decode($curl_response, true);
echo '<pre>';
echo json_encode($decoded, JSON_PRETTY_PRINT);
echo '</pre>';
}
?>
这里有个错误'$ payer_id = echo“$ payer”; ' – RamRaider
没有必要做'echo'$ payer“'。 '$ payer'就足够了。 此外,您可以使用'compact('api_key','payer_id',...)'而不是分配相同的名称键/值对。 您应该确保为API请求设置正确的上下文(无论是POST,GET,PUT [,DELETE,..])。 – Gearloose
谢谢你们[email protected]我在你的帖子下面做了你的建议,现在它访问数组,但它只返回第一个$ payer_id的第一个JSON。还有什么可以让它循环到数组中的下一个payer_id?或者你认为它是一个很大的JSON对象是有限的吗? – DanB