我是一個新手編碼器,這是我第一次使用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