gpt4 book ai didi

php - 在 PHP 中解析 Paypal NVP 的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-10-31 22:44:46 27 4
gpt4 key购买 nike

我需要一个能够将 NVP 正确解析为 PHP 数组的函数。我一直在使用 paypal 提供的代码,但是当在名称旁边指定字符串长度时它不起作用。

这是我目前所拥有的。

private function parseNVP($nvpstr)
{
$intial=0;
$nvpArray = array();

while(strlen($nvpstr))
{
//postion of Key
$keypos= strpos($nvpstr,'=');
//position of value
$valuepos = strpos($nvpstr,'&') ? strpos($nvpstr,'&'): strlen($nvpstr);

/*getting the Key and Value values and storing in a Associative Array*/
$keyval=substr($nvpstr,$intial,$keypos);
$vallength=$valuepos-$keypos-1;
// check if the length is explicitly specified
if($braketpos = strpos($keyval,'['))
{
// override value length
$vallength = substr($keyval,$braketpos+1,strlen($keyval)-$braketpos-2);
// get rid of brackets from key name
$keyval = substr($keyval,0,$braketpos);
}
$valval=substr($nvpstr,$keypos+1,$vallength);
//decoding the respose
if (isValidXMLString("<".urldecode($keyval).">".urldecode( $valval)."</".urldecode($keyval).">"))
$nvpArray[urldecode($keyval)] =urldecode( $valval);
$nvpstr=substr($nvpstr,$keypos+$vallength+2,strlen($nvpstr));
}
return $nvpArray;
}

这个函数大部分时间都有效。

最佳答案

最好的方法是 parse_str功能。它将 URL 编码的字符串解析为 PHP 数组。

所以你的代码应该是这样的:

private function parseNVP($nvpstr)
{
$paypalResponse = array();
parse_str($nvpstr,$paypalResponse);
return $paypalResponse;
}

关于php - 在 PHP 中解析 Paypal NVP 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520135/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com