如何从PHP stdClass对象的输出创建PHP stdClass对象

时间:2012-01-03 22:41:22

标签: php

我有以下字符串:

stdClass Object
(

    [createResult] => stdClass Object

       (
           [ReturnCode] => 1
       )

)

如何获取上述字符串并创建新的stdClass对象?我想得到这样的价值:

$rc = $obj->createResults->ReturnCode;

3 个答案:

答案 0 :(得分:1)

如果您可以将其输出方式更改为var_export之类的内容,则可以将该字符串与eval一起使用以将其恢复。

http://www.php.net/manual/en/function.var-export.php

答案 1 :(得分:1)

如果您无法更改它(无论出于何种原因)并且必须使用print_r的输出,那么您可以尝试这个配方并查看它是否适合您。 http://www.php.net/manual/en/function.print-r.php#93529

但是,如果可能的话,您应该以更便携的格式存储数据。你可以使用php的serialize => unserializejson_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]);