我有一个使用print_r打印的数组。
<?php
print_r ($this)
?>
我在浏览器中收到以下结果。
PackingListForm Object
(
[objShipment:protected] => Shipment Object
(
[objCustomFieldArray] =>
[intShipmentId:protected] => 38
[strShipmentNumber:protected] => 1035
[intTransactionId:protected] => 97
[intFromCompanyId:protected] => 1
[intFromContactId:protected] => 1
[intFromAddressId:protected] => 1
[intToCompanyId:protected] => 2
[intToContactId:protected] => 3
[intToAddressId:protected] => 2
[intCourierId:protected] => 1
[strTrackingNumber:protected] =>
[dttShipDate:protected] => QDateTime Object
)
)
现在我要打印/ echo intTransactionId。
我使用了跟随变量来回显结果,但我得到了未定义的变量。
<?php
$noted = $this->objShipment->intTransactionId;
print_r ($noted);
?>
我在浏览器中遇到了php异常错误。
未定义的GET属性或变量在&#39;发货&#39; class:intTransactionId 第33行:$ noted = $ this-&gt; objShipment-&gt; intTransactionId;
我的问题是如何回显/打印intTransactionId的值?
答案 0 :(得分:0)
首先尝试将其转换为数组,然后更容易:),
$newArray = (array)$this;
print_r($newArray);//to see what can you get from there
// get_object_vars
$newArray = get_object_vars($object);
该对象来自类PackingListForm,如果您有权访问并查看是否有任何get()函数,请查看该类。
答案 1 :(得分:0)
intTransactionId
是受保护的属性,这意味着您无法在类本身(或parennt类或子类)之外访问它。
我认为,异常是在__get
(或其父类之一)中定义的Shipment
魔术方法中引发的。尝试访问未设置属性(或不可访问的属性)时调用此方法。
请检查此行为。