PHP-get对象中的数组
我将以下对象显示为Json对象:PHP-get对象中的数组,php,arrays,object,foreach,Php,Arrays,Object,Foreach,我将以下对象显示为Json对象: Vtiger_RequestObject([ valuemap: Vtiger_Request: private ]=>Array([ __vtrftk ]=>sid: 172e53bdd05f5ef334859018d08043fb563b23b9, 1468335904[ picklistDependency ]=>[ ][ module ]=>Calendar[ action ]=>SaveAjax[
Vtiger_RequestObject([
valuemap: Vtiger_Request: private
]=>Array([
__vtrftk
]=>sid: 172e53bdd05f5ef334859018d08043fb563b23b9,
1468335904[
picklistDependency
]=>[
][
module
]=>Calendar[
action
]=>SaveAjax[
defaultCallDuration
]=>5[
defaultOtherEventDuration
]=>5[
userChangedEndDateTime
]=>0[
subject
]=>jhala12345tst[
assigned_user_id
]=>1[
date_start
]=>12-07-2016[
time_start
]=>05: 05PM[
due_date
]=>12-07-2016[
time_end
]=>05: 10PM[
eventstatus
]=>Dovoláno[
activitytype
]=>Call[
cf_1181
]=>Odchozí[
followup_date_start
]=>[
followup_time_start
]=>[
popupReferenceModule
]=>Potentials[
contact_id
]=>[
contact_id_display
]=>[
relatedContactInfo
]=>[
parent_id
]=>[
parent_id_display
]=>)[
rawvaluemap: Vtiger_Request: private
]=>Array([
__vtrftk
]=>sid: 172e53bdd05f5ef334859018d08043fb563b23b9,
1468335904[
picklistDependency
]=>[
][
module
]=>Calendar[
action
]=>SaveAjax[
defaultCallDuration
]=>5[
defaultOtherEventDuration
]=>5[
userChangedEndDateTime
]=>0[
subject
]=>jhala12345tst[
assigned_user_id
]=>1[
date_start
]=>12-07-2016[
time_start
]=>05: 05PM[
due_date
]=>12-07-2016[
time_end
]=>05: 10PM[
eventstatus
]=>Dovoláno[
activitytype
]=>Call[
cf_1181
]=>Odchozí[
followup_date_start
]=>[
followup_time_start
]=>[
popupReferenceModule
]=>Potentials[
contact_id
]=>[
contact_id_display
]=>[
relatedContactInfo
]=>[
parent_id
]=>[
parent_id_display
]=>)[
defaultmap: Vtiger_Request: private
]=>Array())
我想用foreach探索数组,用array\u key\u exists()
搜索[cf\u 1181]=>Odchozí
。可能吗
我怎么能意识到这一点?您不能更改创建此对象的类吗? 简单的方法-将getter添加到类中,但如果不能更改类,则可以使用反射api但它很慢强>
$reflectionClass = new ReflectionClass('Vtiger_Request');
$reflectionProperty = $reflectionClass->getProperty('valuemap');
$reflectionProperty->setAccessible(true);
var_dump($reflectionProperty->getValue($obj)); // TODO $obj - is you object
仅适用于vtiger,这适用于7.x版
您可以通过
Vtiger\u请求
方法获取所有数据:
getall()
或
差不多
$data_all_data = $request->getAll();
或
由于您在正确设置问题格式方面所做的努力非常少,所以这里给出了一个简单的答案:是的,这是可能的。Sry,有人编辑了我的帖子,并将描述更改为json对象。我必须将什么定义为对象?如果我定义
$obj='cf_1181'代码>例如,它不工作…$obj-必须有Vtiger_请求的实例。您编写“我有这个对象:Vtiger_请求”-在我的示例中这是变量$obj OK,我测试$obj='Vtiger_请求'代码>而且它也不起作用,而且php不会打印任何错误。请阅读我之前的评论$obj-必须是类Vtiger_请求的实例。不是绳子。如何在问题中显示对象?这个对象有变量吗$obj=变量转储中的变量…当我在代码中使用您的$reflectionProperty=$reflectionClass->getProperty('valuemap')代码>,打印或停止工作。我的代码
$data_all_data = $request->getAll();
$data_by_key = $request->get($key);