2017-10-16 3 views
1

Wie kann ich dieses Array lesen $ var ['shipment_number'] nicht funktionieren?PHP-Array mit privaten Vars

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 
) 

-Code Link: https://pastebin.com/uDm6neRt

+3

Das ist ein Objekt, nicht Array. Sie können '$ var-> getShipmentNumber()' versuchen, um zu sehen, ob es funktioniert. – aynber

+0

[Arrays] (http://php.net/manual/en/language.types.array.php)! == [Objekte] (http://php.net/manual/en/language.oop5.php) –

Antwort

1

Was haben Sie es eine object, insbesondere eine Instanz von EinName\EINUNTERNEHMEN\Response. Außerdem sind die Eigenschaften private, so dass Sie nur direkt von innerhalb der Klasse darauf zugreifen können.

Sehen Sie folgendes Beispiel:

<?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

Also, wenn Sie die Eigenschaften, die Sie den Getter verwenden müssen erhalten keinen Zugriff auf die Klasse haben, um, wenn es vorhanden ist. Überprüfen Sie die Dokumentation Ihrer Response Klasse, durch Konvention sollte es wie folgt aussehen:

echo $var->getShipmentNumber();