我正在使用移动SDK的PayPal付款验证。
以下是从沙箱返回的数据转储。
["proof_of_payment"]=>
object(stdClass)#27 (1) {
["adaptive_payment"]=>
object(stdClass)#28 (4) {
["app_id"]=>
string(14) "APP-1234567890"
["payment_exec_status"]=>
string(9) "COMPLETED"
["pay_key"]=>
string(20) "AP-70M68096ML426802W"
["timestamp"]=>
string(20) "2013-07-23T12:10:17Z"
所以有一个" proof_of_payment"对象,并且在其中有一个名为" adaptive_tayment"的对象。 Paypal说,因为有两种类型的付款,他们接受(信用卡或PayPal帐户),proof_of_payment中的对象可以是两件事之一。 " adaptive_payment"或" rest_api"。
使用PHP,您将如何测试空间中的内容" adaptive_cayment"?这不是您通常的key->值案例,因为它是对象本身的名称。显然,数组语法在这里不起作用,因为它不是数组,也不能做proof_of_payment [0]。那么测试的正确方法是什么?
谢谢!
答案 0 :(得分:0)
只需检查isset()
存在哪个密钥:
if (isset($obj->adaptive_payment)) {
// adaptive payment code...
}
else if (isset($obj->rest_api)) {
// rest api code...
}
或者,您可以使用property_exists()
。但在您的情况下,isset()
就足够了,因为密钥将被设置或未设置。