php curl响应的特定值
我试着从我的请求中得到回应,但没有成功php curl响应的特定值,php,api,curl,customization,Php,Api,Curl,Customization,我试着从我的请求中得到回应,但没有成功 <?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://sandbox.monnify.com/api/v1/bank-transfer/reserved-accounts", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => &quo
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://sandbox.monnify.com/api/v1/bank-transfer/reserved-accounts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>"{\n \"accountReference\": \"0111443-JP098\",\n \"accountName\": \"Joe Philips\",\n \"currencyCode\": \"NGN\",\n \"contractCode\": \"6146592431\",\n \"customerEmail\": \"jp@tester.com\",\n \"customerName\": \"Joe Philips\",\n \"incomeSplitConfig\": [\n {\n \"subAccountCode\": \"MFY_SUB_275274693326\",\n \"feePercentage\": 10.5,\n \"splitPercentage\": 20,\n \"feeBearer\": true\n }\n ]\n}",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsibW9ubmlmeS1wYXltZW50LWVuZ2luZSJdLCJzY29wZSI6WyJwcm9maWxlIl0sImV4cCI6MTU5NzI2MzAyNCwiYXV0aG9yaXRpZXMiOlsiTVBFX01BTkFHRV9MSU1JVF9QUk9GSUxFIiwiTVBFX1VQREFURV9SRVNFUlZFRF9BQ0NPVU5UIiwiTVBFX0lOSVRJQUxJWkVfUEFZTUVOVCIsIk1QRV9SRVNFUlZFX0FDQ09VTlQiLCJNUEVfQ0FOX1JFVFJJRVZFX1RSQU5TQUNUSU9OIiwiTVBFX1JFVFJJRVZFX1JFU0VSVkVEX0FDQ09VTlQiLCJNUEVfREVMRVRFX1JFU0VSVkVEX0FDQ09VTlQiLCJNUEVfUkVUUklFVkVfUkVTRVJWRURfQUNDT1VOVF9UUkFOU0FDVElPTlMiXSwianRpIjoiYTQ5YjIxNDgtNTJkMy00ZGI1LTg2NGYtYzdiM2NjM2M4NzUzIiwiY2xpZW50X2lkIjoiTUtfVEVTVF9DSFZRRlJBN1NHIn0.mqwi5y7wnXpBCk6R9dC3ORhf9pNkwHVOCJr2SHUfk9TFYpVMnGuBUVyxJFOwLHROyKVodquPr1eS2AT1nTUDCrW0YXlX9tX5BPrfckvDoPPza7Klc8uQrw1aVxF6sAK-hFZgC79lKOq9gowOqWP1frbJ5BqozZfYiQ6ZsZcf2LubDOoen_G6_13wGtCM58-9BcY6aMKv--Vxr0AFwSqujBMny1D-x2SgsqT98asoYvtaHGtiC4MbVg-jFwwJuG4BYststO0k1J0YI5frpyLyQfaNEJSR6Y-WJiCqFWIDpHgDFINl65xtMIE_15OV2BKfBsruCo5mkx_rHPH_4_tXWw"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
在所有的响应体中,我只需要以下响应
"accountNumber": "3000004533",
"customerEmail": "test@tester.com",
"bankName": "Providus Bank",
请告诉我,我该怎么做。将json字符串解析为PHP对象或数组,然后您就可以得到它了。将您的信息发送到
$rp
变量
...
$response = curl_exec($curl);
$obj = json_decode($response, true);
$i = 0;
$nw= array_filter($obj['responseBody'], function($v,$k){
return in_array($k, ['accountNumber', 'customerEmail', 'bankName']);
}, ARRAY_FILTER_USE_BOTH);
$i=0;
foreach($nw as $k => $v){
$last = $i !== count($nw)-1 ? ','.PHP_EOL : '';
echo "\"$k\": \"$v\"".$last;
$i++;
}
curl_close($curl);
编辑:只需在包含
“requestSuccessful”的响应中显示结果即可:true
以及其他数据,是什么让您认为它不起作用?哦。。对不起,我想我没说清楚。我真正需要的是把上面提到的反应体从整个反应中释放出来Hello,谢谢你的帮助。我真的很感激。。。然而,它没有起作用。仍然得到和我一样的回应getting@Michael输出结果是什么?@Michael我已经编辑了我的答案,你可以在一堆文件中看到输出结果。这就是我得到的;(1) 为中的foreach()提供的参数无效。。。(2) array_filter()希望参数1在您给我的第一个代码中经过array调整,它给了我值。。但都在同一条线上。这是密码$响应=curl\u exec($curl)$objs=json_decode($response,true)$rp=$objs['responseBody'];echo$rp['accountNumber'];echo$rp['accountName'];echo$rp['bankName'];curl_close($curl);
...
$response = curl_exec($curl);
$obj = json_decode($response, true);
$i = 0;
$nw= array_filter($obj['responseBody'], function($v,$k){
return in_array($k, ['accountNumber', 'customerEmail', 'bankName']);
}, ARRAY_FILTER_USE_BOTH);
$i=0;
foreach($nw as $k => $v){
$last = $i !== count($nw)-1 ? ','.PHP_EOL : '';
echo "\"$k\": \"$v\"".$last;
$i++;
}
curl_close($curl);