2017-02-08 7 views
0

Ich kodiere ein Login-System mit API. Ich bin mit dem Ergebnis fest, dass ich die API verwendet habe. Ich habe das Ergebnis als normale Zeichenfolge wie folgt:Wie konvertiert man String als stdClass Objekt in Array [PHP]

stdClass Object 
(
    [success] => 1 
    [message] => Array 
     (
      [code] => 000 
      [txt] => Operation successful 
     ) 

    [data] => Array 
     (
      [result] => OK 
      [accountID] => 000000000 
      [group] => demoCAC 
      [currency] => USD 
      [enable] => 1 
      [read_only] => 0 
      [name] => Bogus Demo 
      [country] => **** 
      [city] => 
      [address] => 
      [phone] => ** 
      [email] => ***@gmail.com 
      [status] => test 
      [regdate] => 07/02/2017 09:57 
      [lastdate] => 07/02/2017 09:57 
      [balance] => 0.00 
      [credit] => 0.00 
      [equity] => 10000.00 
      [isDemo] => 1 
      [tp_version] => ** 
      [last_name] => Demo 
      [first_name] => Bogus 
      [domain] => ***.com 
      [compliance] => 
      [latestTrades] => Array 
       (
        [results] => Array 
         (
         ) 

        [totalResults] => 0 
       ) 

      [owner] => 
     ) 
    ) 

So wie kann ich es auf ein Array oder leicht zu benutzende Variable umwandeln? * Diese Information gedruckt von (Echo), und ich kann nicht zugreifen $ Ergebnis -> Daten -> ... gibt es eine Funktion, die diese Zeichenfolge in Array oder JSON oder etwas lesbares konvertieren, damit ich zu bestimmten Wert erreichen kann ? wenn ich versuche: print_r (get_object_vars ($ result)); erhalte ich diesen Fehler:

Warnung: get_object_vars() erwartet ein Parameter-Objekt, string in /home/**/public_html/crm/profile.php on line 20

+4

Wie haben Sie diese Informationen gedruckt? Wenn Sie 'var_dump' oder' print_r' verwenden, ist Ihr Ergebnis eigentlich keine Zeichenkette, sondern bereits ein Objekt und hat somit Zugriff auf seine Eigenschaften (zB. $ Result-> success' ist gleich dem Erfolgswert, "1" in diesem Fall) – ccKep

+0

es scheint eine var_dump-Anzeige zu sein .. Sie können die eval-Funktion http://php.net/manual/fr/function.eval.php überprüfen, um die Zeichenkette in den PHP-Code zu konvertieren – Fky

+1

Ist dies die Zeichenkette? dass deine api zurückkommt? Wenn dies der Fall ist, sollten Sie zu einem Format wechseln, das wie json leicht zu parsen ist. – jeroen

Antwort

0

Sofern Im fehlt etwas gegeben zu sein, Dein Problem ist einfach.

in den Eingeweiden des Var_dump suchen, sollten Sie den Index in Frage zugreifen können wie:

$result->data['email']; // where 'email' is the key of the data. 

oder

$result->data['latestTrades']['results']; // nested example. 

alle Eigenschaften eines Standardklasse sind öffentlich, und so kann direkt zugegriffen werden. Und in Ihrem Beispiel enthalten alle von ihnen ein Array oder geschachteltes Array, auf das mit ihrem Schlüssel zugegriffen werden kann.

Verwandte Themen