如何将字符串(以数组形式)转换为数组/对象

时间:2016-05-18 13:43:43

标签: php

我正在做payu自动化退款。在发送请求后,在上面        得到回应

$res =  Array (
    [status] => 0
    [msg] => Refund FAILURE - Invalid amount
    [error_code] => 105
    [mihpayid] => 569611073
   )

但是如果检查gettype($ res)它将作为字符串...        这里无法使用

获取键值和值对
$res['status'] or $res['msg']

给予

A PHP Error was encountered
     Severity: Warning
     Message:  Illegal string offset 'status'
     Filename: pgrefunds/pgrefunds.php
     Line Number: 296

建议我如何获得kay值对...

2 个答案:

答案 0 :(得分:1)

在PayU文档(https://developer.payubiz.in/documentation/Request-and-Response-format/110)中,您可以阅读以下这一行:

  

Web服务API默认以PHP 序列化字符串响应。

因此,您必须在使用之前对内容进行反序列化。取决于配置,内容可以作为JSON或"数组"表格(序列化)。取决于具体情况,您必须使用json_decodeunserialize

答案 1 :(得分:0)

您很可能会收到序列化的回复。你应该反序列化字符串。

$resArr = unserialize($res);
$resArr['status'];

修改

正如其他答案显示另一个选项是json_decode()

$resArr = json_decode($res);
$resArr['status'];