我有一个看起来像这样的php对象:
Array
(
[0] => Google\API\Response\Model\Goog Object
(
[rp:Google\API\Response\Model\Goog:private] =>
[sn:Google\API\Response\Model\Goog:private] => aaazzz999
[id:Google\API\Response\Model\Goog:private] => 105735459918379875
[c_id:Google\API\Response\Model\Goog:private] =>
[st:Google\API\Response\Model\Goog:private] => 1
[m:Google\API\Response\Model\Goog:private] => 0
[sts:Google\API\Response\Model\Goog:private] => 1459918379875
[ts:Google\API\Response\Model\Goog:private] => 1459918379875
[t:Google\API\Response\Model\Goog:private] => 3
[replayed:Google\API\Response\Model\Goog:private] =>
[zipped:Google\API\Response\Model\Goog:private] =>
[broadcast:Google\API\Response\Model\Goog:private] =>
[broadcast_media_url:Google\API\Response\Model\Goog:private] =>
)
)
如何访问[sn:Google \ API \ Response \ Model \ Goog:private]数组值?
答案 0 :(得分:1)
问题不是命名空间,而是属性具有私有可见性。这意味着只有内部方法才能访问它们。为了从外部访问它们,它们需要公众可见性。
一种可能的解决方案是检查Goog
的类源并查找可能返回属性值的任何方法。具有私有属性的类通常通过公共方法公开它们,例如:
$value = $myArray[0]->getMediaUrl(); // example showing calling a public method