2017-08-29 126 views
-2

如何使用PHP访问以下对象中的TXN_ID?下面是该对象的print_r的:使用PHP访问对象中的数组

$txn_object = $txn_params[last_payment]; 
error_log(print_r($txn_object,true)); 

我在错误日志中得到这样的:

EE_Payment Object 
(
    [_props_n_values_provided_in_constructor:protected] => Array(
     [PAY_ID] => 4168 
     [TXN_ID] => 746919 
     [STS_ID] => PAP 
     [PAY_timestamp] => 2017-08-29 14:06:26 
     [PAY_source] => CART 
     [PAY_amount] => 24.000 
     [PMD_ID] => 11 
     [PAY_gateway_response] => submitted_for_settlement 
     [PAY_txn_id_chq_nmbr] => 96g71gxv 
     [PAY_po_number] => 
     [PAY_extra_accntng] => 
     [PAY_details] => 
    ) 
) 

我已经尝试了一些东西,但似乎无法获取价值,但回来空白:

$txn_object->_props_n_values_provided_in_constructor[0]->TXN_ID 
+0

你得到了什么错误信息? – Timurib

回答

2

停止使用print_r对对象进行逆向工程并阅读文档/源代码。

您有一个EE_Payment对象,它是Event Espresso库的一部分。 The source of this class is available here,并显示了一个名为TXN_ID的方法来返回交易ID。

$id = $txn_object->TXN_ID(); 

会给你你所需要的。

3

您不能访问从对象(类)之外TXN_ID元素,因为_props_n_values_provided_in_constructor属性为protected

  • 公开范围,使可从任何地方,其他类和对象的实例变量/功能。
  • ,当你想你的变量/函数是在只有自己的类可见私人范围。
  • 保护范围当你想让你的变量/函数在扩展当前类的所有类中可见时,包括 父类。

https://stackoverflow.com/a/4361582/5465663

看看进入到PHP documentation