我有以下字符串:
stdClass Object
(
[createResult] => stdClass Object
(
[ReturnCode] => 1
)
)
如何获取上述字符串并创建新的stdClass对象?我想得到这样的价值:
$rc = $obj->createResults->ReturnCode;
答案 0 :(得分:1)
如果您可以将其输出方式更改为var_export
之类的内容,则可以将该字符串与eval
一起使用以将其恢复。
答案 1 :(得分:1)
如果您无法更改它(无论出于何种原因)并且必须使用print_r的输出,那么您可以尝试这个配方并查看它是否适合您。 http://www.php.net/manual/en/function.print-r.php#93529
但是,如果可能的话,您应该以更便携的格式存储数据。你可以使用php的serialize => unserialize或json_encode => json_decode,对于初学者来说。
答案 2 :(得分:0)
你也可以这样做:
<?php
$s = "stdClass Object
(
[createResult] => stdClass Object
(
[ReturnCode] => 1
)
)";
$s = preg_match("/\s\[ReturnCode\] => \S+\s/", $s, $m);
echo preg_replace("/\s\[ReturnCode\] => (\S+)\s/", "$1", $m[0]);