我正在设置与Verotel集成的新服务,我需要将来自服务器的响应格式化为PHP数组。
我已经测试了一些用于格式化Respnse的代码,但是我可以做到。 Mi代码获得响应是这样的:
$url= $statusURL;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo (array($result));
我从服务器得到以下响应:
response: FOUND
shopID: 114500
paymentMethod: Credit Card
priceAmount: 20
priceCurrency: USD
type: purchase
,我需要将其格式化为PHP数组。
答案 0 :(得分:0)
yaml
格式,您可以使用yaml_parse
来解析它(您需要安装yaml
扩展名)。explode
如果不为空,然后将结果放入数组。答案 1 :(得分:0)
我已经修改了代码,现在看起来像:
$url= $statusURL;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($ch);
curl_close($ch);
echo ($result);
$var2 = array("\n\n", "\n");
$var=str_replace($var2,'","', $result);
$var=str_replace(': ','"=>"', $var);
var_dump($var);
现在我得到以下格式化的响应:
string(542) "response"=>"FOUND",
"shopID"=>"114574",
"paymentMethod"=>"Credit Card",
"priceAmount"=>"20",
"priceCurrency"=>"USD",
"type"=>"purchase",
"description"=>"Snapchat Básico un Mes",
"referenceID"=>"",
"saleID"=>"17344498",
"saleResult"=>"APPROVED",
"name"=>"test user",
"email"=>"ss@ss.es",
"country"=>"ES","",""
我如何获取值?
echo $var->name;
Thnx!