2012-09-19 129 views
1

我建立一个脚本付款快递与PxPost工作返回多个值,我已经用他们的示例代码可以在http://www.paymentexpress.com/Technical_Resources/Sample_code_-_PHP/PX_Post_-_cURL.aspx如何从功能

发现它是如何工作的,虽然是它的建成一个自动化的脚本,从我的数据库查询订单,然后处理它们,然后返回一个值。

我唯一的问题是我想要的功能比一个返回值更多,所以这是我做了什么

代码通过功能(201线)运行:

$once_complete = process_request($billingID,$order_total,$merchRef); 

其发送要处理的付款,然后获取返回并使用示例代码处理XML。在代码的最后,我已经删除了所有$html信息,并刚刚与以下(111线)取代了它:

return $CardHolderResponseDescription.":".$MerchantResponseText.":".$AuthCode.":".$MerchantError; 

这应是据我所知,返回到什么开始吧。然后我想分裂这些值并返回它们作为使用下面的字符串(202线):

list($RespDesc, $MerchResp, $AuthCode, $MerchError) = explode(":", $once_complete); 

但由于某些原因无法运作的。

我试过回音回报,它工作正常,但之后,它似乎消失。任何人都可以看到可能会出错的地方吗?

你可以在http://pastebin.com/LJjFutne看到整个页面的代码。请注意,这个代码是一项正在进行的工作,所以请无尖刻的言论,除非我的代码

+2

取而代之的包装一样,价值观,考虑返回数组(甚至更好,创建一个类来保存这些值,并返回一个对象)。请停止使用古代的mysql_ *函数编写新的代码。他们不再被维护,社区已经开始[弃用流程](http://news.php.net/php.internals/53799)。相反,您应该了解准备好的语句并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你关心学习,[这里是一个很好的PDO相关教程](http://wiki.hashphp。组织/ PDO_Tutorial_for_MySQL_Developers)。 – DCoder

+0

@直流感谢您的提示。我现在正在阅读。将开始转换我的脚本。 :)。会返回一个数组与它正在处理的循环中工作吗? – dpDesignz

回答

8

返回数组。

function process_request(){ 
    ... 
    return array($CardHolderResponseDescription, $MerchantResponseText, $AuthCode, $MerchantError); 
} 

而且把它捡起来通过:

$_result = process_request(); 
$CardHolderResponseDescription = $_result[0]; 
$MerchantResponseText = $_result[1]; 
... 

提示:使用更短的瓦尔更好的阅读:)

+0

谢谢,但由于某种原因,它仍然没有返回任何东西给我。我打算在安装完成后放下它们。 :) – dpDesignz

+0

哇谢谢!我应该第一次正确阅读这些代码。工作过一种享受。 :d – dpDesignz

1

在你的函数process_request:

return array($CardHolderResponseDescription, $MerchantResponseText, $AuthCode, $MerchantError); 

当调用你的函数:

list($RespDesc, $MerchResp, $AuthCode, $MerchError) = process_request($billingID,$order_total,$merchRef); 
+0

谢谢,但由于某种原因,它仍然没有返回任何东西 – dpDesignz

1
你能做的就是把返回值在数组

最简单的事情,你可以访问后

return array("CardHolderResponseDescription"=>$CardHolderResponseDescription, "MerchantResponseText" => $MerchantResponseText, "AuthCode" => $AuthCode); 

后来

列表($ RespDesc,$ MerchResp,$校验码,$ MerchError)= $ my_return_value