2017-02-08 3 views
0

Я кодирую систему входа с использованием API. Я застрял в результате, что получил API. я получил результат в виде обычной строки, как это:Как преобразовать строку как объект stdClass в массив [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] => 
     ) 
    ) 

Так как я могу преобразовать его в массив или полезной переменной? * Эта информация напечатана (echo), , и я не могу получить доступ к $ result -> data -> ... есть функция, которая преобразует эту строку в массив или json или что-то читаемое, поэтому я могу достичь определенной ценности ? при попытке: print_r (get_object_vars ($ result)); я получаю эту ошибку:

Предупреждение: get_object_vars() ожидает параметр 1, чтобы быть объектом, строка, заданная в /home/**/public_html/crm/profile.php на линии 20

+4

Как вы напечатали эту информацию? Если вы использовали 'var_dump' или' print_r', то ваш результат не является фактически строкой, а уже объектом и, следовательно, имеет доступ к ее свойствам (например, '$ result-> success' будет равен значению успеха, '1' в этом случае) – ccKep

+0

это отображение var_dump .. вы можете проверить функцию eval http://php.net/manual/fr/function.eval.php, чтобы преобразовать строку в php-код – Fky

+1

Это строка что ваш api возвращается? Если это так, вы должны переключиться на формат, который легко разобрать, как json. – jeroen

ответ

0

Если только Im что-то отсутствует, ваша проблема проста.

глядя на внутренностях вашего var_dump, вы должны быть в состоянии получить доступ к индексу в Вашем вопросе, как:

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

или

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

все свойства стандартного класса являются общедоступными, и поэтому их можно получить непосредственно. И в вашем примере все они содержат массив или вложенный массив, к которому можно получить доступ по их ключу.

Смежные вопросы