php 数组字符,转换数组

jiguoguo 2013-11-11 05:48:57
下面是数组输出后的字符串。我想把它转换成数组
array(9) {
["productCode"] => string(12) "1111"
["resourceCode"] => string(13) "222"
["userCode"] => string(9) "333"
["tvCode"] => string(8) "444"
["extraInfo"] => string(4) "null"
["orderResult"] => string(1) "1"
["subId"] => string(2) "-1"
["payment"] => string(1) "1"
["_URL_"] => array(2) {
[0] => string(3) "test"
[1] => string(14) "callback"
}
}

eval('$dd='.$result.';');
但是一直报错。汗。
...全文
135 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiguoguo 2013-11-11
  • 打赏
  • 举报
回复
不要意思。我知道问题了。我犯了个低级错误。不好意思。打扰各位了
xuzuning 2013-11-11
  • 打赏
  • 举报
回复
$s =<<< TXT
array(9) {
  ["productCode"] => string(12) "1111"
  ["resourceCode"] => string(13) "222"
  ["userCode"] => string(9) "333"
  ["tvCode"] => string(8) "444"
  ["extraInfo"] => string(4) "null"
  ["orderResult"] => string(1) "1"
  ["subId"] => string(2) "-1"
  ["payment"] => string(1) "1"
  ["_URL_"] => array(2) {
    [0] => string(3) "test"
    [1] => string(14) "callback"
  }
}
TXT;
$s = preg_replace_callback('/(\[|\]|string|\(\d+\))|({|}|"\s+)/', 'foo', $s);
$ar = eval('return ' . trim($s, ',') . ';');
print_r($ar);

function foo($r) {
  if($r[1]) return '';
  if($r[2] == '{') return '(';
  if($r[2] == '}') return '),';
  return '",'.PHP_EOL; 
}
Array
(
    [productCode] => 1111
    [resourceCode] => 222
    [userCode] => 333
    [tvCode] => 444
    [extraInfo] => null
    [orderResult] => 1
    [subId] => -1
    [payment] => 1
    [_URL_] => Array
        (
            [0] => test
            [1] => callback
        )

)

一起混吧 2013-11-11
  • 打赏
  • 举报
回复
你这个串是怎么得来的。是用var_dump输出的吧,最好贴出全部代码以供分析。
待我功成名就 2013-11-11
  • 打赏
  • 举报
回复
unserialize(string)
jiguoguo 2013-11-11
  • 打赏
  • 举报
回复
我可能没说清楚。上面的字符串。是接口服务器返回过来的。现在要解析这个类似数组的字符串
一起混吧 2013-11-11
  • 打赏
  • 举报
回复
你那个是数组了,还转什么。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧