带有私有变量的PHP数组

时间:2017-10-16 16:52:06

标签: php

我怎么能单独阅读这个数组$ var ['shipment_number']不起作用?

EinName\EINUNTERNEHMEN\Response Object
(
    [shipment_number:EinName\EINUNTERNEHMEN\Response:private] => 222253010000075775
    [piece_number:EinName\EINUNTERNEHMEN\Response:private] =>
    [label:EinName\EINUNTERNEHMEN\Response:private] => https://cig.Einurl.com
    [returnLabel:EinName\EINUNTERNEHMEN\Response:private] =>
    [exportDoc:EinName\EINUNTERNEHMEN\Response:private] =>
    [labelType:EinName\EINUNTERNEHMEN\Response:private] => URL
    [sequenceNumber:EinName\EINUNTERNEHMEN\Response:private] => 1
    [statusCode:EinName\EINUNTERNEHMEN\Response:private] => 0
    [statusText:EinName\EINUNTERNEHMEN\Response:private] => ok
    [statusMessage:EinName\EINUNTERNEHMEN\Response:private] => Der Webservice wurde ohne Fehler ausgeführt.
    [version:EinName\EINUNTERNEHMEN\Version:private] => 2.2
    [mayor:EinName\EINUNTERNEHMEN\Version:private] => 2
    [minor:EinName\EINUNTERNEHMEN\Version:private] => 2
)

代码链接: https://pastebin.com/uDm6neRt

1 个答案:

答案 0 :(得分:1)

你所拥有的是object,特别是EinName\EINUNTERNEHMEN\Response的一个实例。此外,属性为private,因此您只能直接从类内部访问它们。

见这个例子:

<?php
class Response {
    private $var;

    public function __construct($var) {
        $this->var = $var;
    }

    public function getVar() {
        return $this->var;
    }
}
$res = new Response("test");
echo $res->getVar(); // test
echo $res->var; // fatal error, attempting to access a private property

Demo

因此,如果您无法访问该类,那么获取您需要使用getter的属性(如果存在)。按照惯例检查Response类的文档,它应如下所示:

echo $var->getShipmentNumber();