>백엔드 개발 >PHP 튜토리얼 >php 数组字符,转换数组

php 数组字符,转换数组

WBOY
WBOY원래의
2016-06-23 14:27:01779검색

下面是数组输出后的字符串。我想把它转换成数组
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        ))

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.