欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 数组字符,转换数组

程序员文章站 2022-06-17 15:30:16
...
下面是数组输出后的字符串。我想把它转换成数组
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.';');
但是一直报错。汗。

回复讨论(解决方案)

你那个是数组了,还转什么。

我可能没说清楚。上面的字符串。是接口服务器返回过来的。现在要解析这个类似数组的字符串

unserialize(string)

你这个串是怎么得来的。是用var_dump输出的吧,最好贴出全部代码以供分析。

$s = 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        ))

不要意思。我知道问题了。我犯了个低级错误。不好意思。打扰各位了