2017-08-29 123 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