下面的代码正在PSP数据库中生成付款。"print_r($result)"将给出如下打印输出:https://i.stack.imgur.com/wjsQQ.png
我的问题是;如何最轻松地检索"id"(值=10101870)并将其放入变量中?
我不确定我是否应该只使用 json 或类似的东西,因为我不熟悉这种存储数据的方式(它是"对象"还是特殊类型的数组?
$params = array(
"currency" => "DKK",
"order_id" => "1234567890",
);
$data_string = http_build_query($params, '&');
$headers = array(
'Accept-Version: v10',
'Accept: application/json',
'Authorization: Basic ' . base64_encode(":HIDDEN_KEY")
);
$ch = curl_init('https://api.quickpay.net/payments');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if(!curl_exec($ch)){
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch));
}
curl_close($ch);
print_r($result);
删除此行
curl_setopt($ch, CURLOPT_HEADER, true);
因此,您的$result
不会包含 HTTP
标头,只留下json
有效负载。
然后解码json
字符串并访问id
成员
$object = json_decode($result);
print $object->id;
看到它没有从print_r
打印数组或对象,它看起来像一个 json 格式的字符串。您可以对 ID 执行的操作如下:
$data=json_decode($result, true);
echo $data['id'];
或者,如果要使用对象:
$data=json_decode($result);
echo $data->id;