Php 从var_dump()访问数据
我从var_转储中获取此数据,并希望访问“开始日期”。如何做到这一点 比方说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
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
是一个数组,而不是一个对象,那么语法就可以工作
对象需要受保护属性的getterstart\u date
您不能以这种方式访问属性start\u date
。如果$term
是一个数组,而不是一个对象,那么语法就可以工作
对象需要受保护属性的getterstart\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的类可以有自己的方法来处理数据-我无法预测这个术语类结构你是说getter和setter方法吗?不,不完全是。OP的类可以有自己的方法来处理数据——我无法预测这个术语
类结构