下面是数组输出后的字符串。我想把它转换成数组
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 =<<< TXTarray(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 ))
不要意思。我知道问题了。我犯了个低级错误。不好意思。打扰各位了