Преобразовать ответ на читаемую форму
Вопрос
Я выставляя запрос на PayPal, используя CURL.
Пожалуйста, проверьте следующий код
$url = 'https://api-3t.sandbox.paypal.com/nvp';
$request = array();
$request['USER'] = 'username' ;
--- sending other request fields like above ---
$rd = '';
foreach ($request as $_key => $_val)
{
$rd .= $_key . '=' . urlencode(mb_convert_encoding($_val, 'ISO-8859-1', 'UTF-8')) . '&';
}
$output = array();
$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_URL, $url);
curl_setopt($curlSession, CURLOPT_HEADER, 0);
curl_setopt($curlSession, CURLOPT_POST, 1);
curl_setopt($curlSession, CURLOPT_POSTFIELDS, $rd);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlSession, CURLOPT_TIMEOUT, 90);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYHOST, 1);
$rawresponse = curl_exec($curlSession);
.
Теперь, когда выполняется выполнение CURL, я получаю ниже Reposne.
Timestamp= 2015% 2D07% 2D23T10% 3A39% 3A36Z & CorrelationID= 61F4332AAF13E & ACK= Успех и версия= 90 и Build= 17485293
Моя проблема заключается в том, как преобразовать это в читаемую форму массива? Пожалуйста, помогите мне
Решение
Допустим, вариабельная генеракодицетагCode содержит то, что вы получаете от PayPal.
$decoded = urldecode($response);
.
получит вас
TIMESTAMP=2015-07-23T10:39:36Z&CORRELATIONID=61f4332aaf13e&ACK=Success&VERSION=90&BUILD=17485293
.
Дополнительные звонки
$split = explode('&', $decoded);
.
получит вас
Array
(
[0] => TIMESTAMP=2015-07-23T10:39:36Z
[1] => CORRELATIONID=61f4332aaf13e
[2] => ACK=Success
[3] => VERSION=90
[4] => BUILD=17485293
)
.
Вы можете даже дополнительно разделить каждый элемент $response
и получите пару значение ключа.
[править]
или лучше, но
$arr = array();
parse_str(urldecode($response), $arr);
echo "<pre>"; print_r($arr);
.
получит вас
Array
(
[TIMESTAMP] => 2015-07-23T10:39:36Z
[CORRELATIONID] => 61f4332aaf13e
[ACK] => Success
[VERSION] => 90
[BUILD] => 17485293
)
. Не связан с magento.stackexchange