文件内容到多维数组



我有一个多维数组的输出,格式如下:

Array
(
[MiddleName] => de
[FirstName] => Lianne
[Id] => 2937
[LastName] => Natris
)
Array
(
[MiddleName] => de
[FirstName] => Herman
[Id] => 2215
[LastName] => Groot
)

我通过玩API搞砸了用户数据,所以我现在需要修复它。这个输出是我剩下的唯一正确的数据。API更新功能的工作原理如下:

$grp = array('LastName' => 'John', 'MiddleName' => 'van'); 
$rID = $app->dsUpdate("Contact", $cID, $grp);

我如何解析这个输出回多数组?我对正则表达式的了解非常有限:(

)

提前感谢!

print_r()的输出并不适合对原结构进行"逆向工程"。

如果你只想处理字符串表示,你可以使用serialize()unserialize()来代替。

// turn array into a string format
$str = serialize($arr);
// get it back into an array
var_dump(unserialize($str));

你也可以看看var_export(),如果你想把结构写进一个脚本文件(像一个简单的缓存)或json_encode()json_decode(),如果结构需要与JavaScript共享,例如。

如果实在别无选择:

$arrays = array();
if (preg_match_all('/^Arrays*((.*?))/ms', $s, $matches)) {
  foreach ($matches[1] as $match) {
    if (preg_match_all('/[([^]]+)] => (.*)/', $match, $params)) {
      $arrays[] = array_combine($params[1], $params[2]);
    }
  }
  print_r($arrays);
} else {
  die("Arrrrgh");
}

相关内容

  • 没有找到相关文章

最新更新