我尝试了很多方法,但我不习惯处理如此复杂的对象。如何访问"案例处置"以便将其保存到变量中?下面是对象的var_dump的一部分(它很长)。
我试着把它转换成一个数组,然后做下面这样的事情,但结果是空的。
$myarray['CaseData']['Case Information']['Case Disposition'];
这是我发送的对象的var_dump的一部分。
`object(CaseData)#1 (1) {
["caseData":"CaseData":private]=>
array(4) {
["Case Information"]=>
array(10) {
["Case Disposition"]=>
string(5) "TRIAL"
["Case Number"]=>
string(10) "1D00297207"
["Case Status"]=>
string(6) "CLOSED"
["Case Type"]=>
string(8) "CRIMINAL"
["Court System"]=>
string(54) "DISTRICT COURT FOR MONTGOMERY COUNTY - CRIMINAL SYSTEM"
["District Code"]=>
string(2) "06"
["Document Type"]=>
string(7) "SUMMONS"
["Issued Date"]=>
string(10) "11/09/2013"
["Location Code"]=>
string(2) "02"
["Tracking No"]=>
string(12) "131001793941"
}
["Charge and Disposition Information"]=>
array(2) {
[0]=>
array(17) {
["Amended Date"]=>
string(0) ""
["Amt Suspended"]=>
array(3) {
["CICF"]=>
string(5) "$0.00"
["Court Costs"]=>
string(5) "$0.00"
["Fine"]=>
string(5) "$0.00"
}
["CJIS Code"]=>
string(6) "2 2411"`
我认为:
$CaseData->caseData['Case Information']['Case Disposition'];
$CaseData
是一个对象,而不是数组,您可以使用->
而不是[]
来访问类属性。不幸的是,$caseData
(而非$CaseData
)是$CaseData
对象的私有属性,因此您只能从类内部访问它。
您可以公开$caseData
属性,还是添加getCaseData()
方法$CaseData
类?类似的东西
class CaseData
{
// ... existing code ...
public function getCaseData()
{
return $this->caseData;
}
}
然后,您可以通过以下操作进入"案例处置":
$CaseData->getCaseData()['Case Information']['Case Disposition'];
更好的是,在CaseData
类中添加一个getCaseDisposition()
方法,这样您就可以执行以下操作:
$CaseData->getCaseDisposition();
您的$myarray
变量由一个CaseData
实例组成。必须使用->
访问实例属性,并使用方括号访问数组属性。
因此,您所寻找的价值必须通过以下方式访问:
$myarray->caseData['Case Information']['Case Disposition'];
编辑:有人警告我,$caseData
是私人财产,所以你不能直接访问它。实例可能有一个访问器方法,因此您可以使用它访问实例的属性
$data = $myarray->getCaseData();
$data['Case Information']['Case Disposition']; // the info you need
或者,以更简洁的方式(取决于您的PHP版本):
$myarray->getCaseData()['Case Information']['Case Disposition']; // the info you need
您可以列出实例的可用公共方法:
print_r(get_class_methods($myarray));
我想你可能想要:
$foo = $myarray['caseData']['Case Information']['Case Disposition'];
发布原始数组也可能有所帮助。