Php 从var_dump()访问数据

Php 从var_dump()访问数据,php,Php,我从var_转储中获取此数据,并希望访问“开始日期”。如何做到这一点 比方说 object(Term)#32 (10) { ["term_id":protected]=> int(11589) ["session_id":protected]=> string(5) "11275" ["site_id":protected]=> int(9999999) ["data":protected]=> array(62) { ["term_id"]=&g

我从var_转储中获取此数据,并希望访问“开始日期”。如何做到这一点

比方说

object(Term)#32 (10) {
  ["term_id":protected]=> int(11589)
  ["session_id":protected]=> string(5) "11275"
  ["site_id":protected]=> int(9999999)
  ["data":protected]=> array(62) {
    ["term_id"]=> string(5) "11589"
    ["term_name"]=> string(9) "Full Year"
    ["start_date"]=> string(10) "2013-09-02"
    ["end_date"]=> string(10) "2014-06-14" 
  }
}
我做到了:

var_dump($term);

你不应该那样做
var_dump
是一个调试函数,因此它的输出类似于变量的内部表示形式(当然不确切),并且不应在任何其他情况下使用它,而应进行调试


因为您想要获取的对象数据是,所以应该使用相应的方法来获取/修改它(请参见
术语
类定义)

您不应该这样做
var_dump
是一个调试函数,因此它的输出类似于变量的内部表示形式(当然不确切),并且不应在任何其他情况下使用它,而应进行调试


由于要获取的对象数据是,因此应使用相应的方法获取/修改该数据(请参见
术语
类定义)

您不能以这种方式访问属性
开始日期。如果
$term
是一个数组,而不是一个对象,那么语法就可以工作


对象需要受保护属性的getter
start\u date

您不能以这种方式访问属性
start\u date
。如果
$term
是一个数组,而不是一个对象,那么语法就可以工作


对象需要受保护属性的getter
start\u date
您的对象
$term
没有索引
start\u date
,它不是数组。此外,属性
数据
受保护,因此只能从对象内部访问

如果从对象中删除
protected
标志,则可以如下访问:

var_dump($term["start_date"]); and I get a NULL.
这将访问
$term
对象内部数组
数据中的索引
start\u date


另一种方法是为
Term
类中的值添加一个getter函数。

您的对象
$Term
没有索引
开始日期,它不是数组。此外,属性
数据
受保护,因此只能从对象内部访问

如果从对象中删除
protected
标志,则可以如下访问:

var_dump($term["start_date"]); and I get a NULL.
这将访问
$term
对象内部数组
数据中的索引
start\u date


另一种方法是为
Term
类中的值添加一个getter函数。

试试这个:
$Term->data['start_date'试试这个:
$term->data['start_date']术语
类结构你是说getter和setter方法吗?不,不完全是。OP的类可以有自己的方法来处理数据——我无法预测这个
术语
类结构