-1

我得到serialize($result->response)了正在保存到文件的字符串,但我需要其中的变量,我该如何访问它们?我试过 f.ex:

$result->response['StatusCode']
$result->response[StatusCode]

olso 带未大写字母

但它不工作

我将它保存到这样的文件中

write_to_file("debug.txt", "订单详情:\n\n " . serialize($result->response) . "\n\n");

在文件中是这样的:

a:1:{s:8:"OpenPayU";a:2:{s:14:"HeaderResponse";a:3:{s:10:"SenderName";s:8:"checkout";s:7 :"版本";s:3:"1.0";s:9:"算法";s:3:"MD5";}s:19:"OrderDomainResponse";a:1:{s:21:"OrderRetrieveResponse" ;a:10:{s:5:"ResId";s:32:"31cc3099884b92879ca144c5048ad07f";s:6:"状态";a:1:{s:10:"StatusCode";s:16:"OPENPAYU_SUCCESS" ;}s:13:"MerchantPosId";s:5:"37857";s:9:"SessionId";s:32:"77bd6bf3a1f029e250dbdccd59348bcc";s:14:"CustomerRecord";a:6:{s:10 :"CustomerId";s:8:"nyi3iw6v";s:5:"Email";s:28:"meil@meil.com.pl";s:5:"电话";s:15:"(+ 48) 786265656";s:9:"名字";s:5:"mieta";s:8:"LastName";s:5:"mieta";s:8:"Language";s:2:"pl";}s:11:"OrderStatus";s:21:"ORDER_STATUS_COMPLETE";s:13:"PaymentStatus ";s:18:"PAYMENT_STATUS_END";s:10:"PaidAmount";s:4:"3000";s:12:"CurrencyCode";s:3:"PLN";s:7:"PayType"; s:1:"t";}}}}

4

2 回答 2

2

尝试对数据进行反序列化。看起来你的序列化字符串是一个数组,而不是一个对象。你有任何错误吗?

于 2012-08-26T00:22:21.607 回答
1

他们没有解释完。

在您序列化()一个数组并将其存储在某个地方之后,然后您想使用它,您必须取消序列化()以再次使其成为数组

所以它会是

$file = file_get_contents('debug.txt');
$array = unserialize($file);
echo $array['StatusCode'];
于 2012-08-26T00:33:37.107 回答