Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php curl响应的特定值_Php_Api_Curl_Customization - Fatal编程技术网

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);