所以我想做的是将银行交易与我的数据库中的订单进行比较,如果匹配,则将订单状态更改为已确认。
交易以xml格式
$transaction->user-number //this is the social security number of the one who made the transaction
$transaction->amount //this is the amount transfered
我需要将用户编号与与数据库中的订单关联的用户编号进行比较。
我可以通过使用这些数字创建两个数组并使用array_intersect
来查找数据库和事务xml中存在的数字。
现在,我将拥有已进行交易的用户编号,但我仍需要查看他们是否转移了正确的金额。
我将能够完成这个但是我觉得有一个更简单的解决方案,使用user-number作为数组中的索引,将amount作为值,并创建两个这样的数组并进行比较。
在我写一些复杂,缓慢和凌乱的代码之前,有没有人可以帮助我。
由于
答案 0 :(得分:0)
希望这会让你走上正轨:
class Order
{
private $user = null;
private $amt = null;
public function __construct($user, $amt)
{
$this->user = $user;
$this->amt = $amt;
}
public function getUser()
{
return $this->user;
}
public function equals($transaction)
{
if ($this->user == $transaction->usernumber &&
$this->amt == $transaction->amount) {
return true;
}
return false;
}
}
// an empty array to hold the completed orders
$completed = array();
// loop over orders
foreach($orders as $order) {
// create a new order object
$order = new Order($order->user, $order->amount);
// loop over all transactions
foreach($transactions as $transaction) {
// if transactions is equal to our order then
// add it to the list of completed orders
if($order->equals($transaction)) {
$completed[] = $order;
}
}
}
这会为您的所有订单创建一个小包装类,然后允许您将订单与交易进行比较,如上所述。
我希望这会有所帮助。