我有以下作爲一個字符串輸出創建一個PHP stdClass的對象:如何從一個PHP stdClass的對象
stdClass Object
(
[createResult] => stdClass Object
(
[ReturnCode] => 1
)
)
我怎樣才能把上面的字符串,並創建一個新的stdClass的對象?我想獲得這樣的值:
$rc = $obj->createResults->ReturnCode;
我有以下作爲一個字符串輸出創建一個PHP stdClass的對象:如何從一個PHP stdClass的對象
stdClass Object
(
[createResult] => stdClass Object
(
[ReturnCode] => 1
)
)
我怎樣才能把上面的字符串,並創建一個新的stdClass的對象?我想獲得這樣的值:
$rc = $obj->createResults->ReturnCode;
如果你可以改變它輸出到像var_export
的方式,你可以事後使用字符串eval
把它找回來。
如果你不能改變它(無論何種原因),並有權使用的print_r的輸出,那麼你可以嘗試這個食譜,看看它是否適合你。 http://www.php.net/manual/en/function.print-r.php#93529
但是,如果可能的話,您應該以更便攜的格式存儲數據。對於初學者,您可以使用php的serialize =>unserialize或json_encode =>json_decode。
你也可以做這樣的:
<?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]);
你想一個'print_r'輸出轉換成什麼它使用的是?爲什麼?你可能應該使用序列化或其他東西... – ceejayoz 2012-01-03 22:42:27