如何将字符串作为stdClass对象转换为array[PHP]
我正在用API编写一个登录系统。 我被我使用API得到的结果所困扰。 我得到的结果是普通字符串,如下所示:如何将字符串作为stdClass对象转换为array[PHP],php,arrays,object,Php,Arrays,Object,我正在用API编写一个登录系统。 我被我使用API得到的结果所困扰。 我得到的结果是普通字符串,如下所示: stdClass Object ( [success] => 1 [message] => Array ( [code] => 000 [txt] => Operation successful ) [data] => Array (
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或可读的内容,以便我可以访问特定的值?
当我尝试时:
打印(获取对象变量($result));
我得到这个错误:
警告:get_object_vars()希望参数1是第20行/home/**/public_html/crm/profile.php中给出的object字符串,除非我遗漏了什么,否则您的问题很简单 看看你的var_转储文件,你应该能够访问你问题中的索引,比如:
$result->data['email']; // where 'email' is the key of the data.
或
标准类的所有属性都是公共的,因此可以直接访问。在您的示例中,它们都包含一个数组或嵌套数组,因此可以通过它们的键进行访问。您是如何打印这些信息的?如果您使用的是
var\u dump
或print\u r
,那么您的结果实际上不是一个字符串,而是一个对象,因此可以访问其属性(例如$result->success
将等于成功值,在本例中为1
),它似乎是一个var\u dump显示。。您可以检查eval函数以将字符串转换为php代码这是api返回的字符串吗?如果是的话,您应该切换到一种易于解析的格式,比如json。请提供更多代码,也不要使用EVAL!Fky的建议非常危险,只会导致一个充满伤害的世界。
$result->data['latestTrades']['results']; // nested example.