1

我想知道这里是否有人可以帮助我。我有以下字符串:

$str = 'unit1(field1,field2,field3),unit2(field4,field5,field6)';

我正在尝试解析此字符串以创建以下数组:

array(
  'unit1' => array('field1', 'field2', 'field3')
  'unit2' => array('field4', 'field5', 'field6')
)

我对正则表达式非常绝望,所以我什至不知道从哪里开始。

谢谢

4

1 回答 1

3

您可以在不使用正则表达式的情况下执行此操作

 $str = 'unit1(field1,field2,field3),unit2(field4,field5,field6)';
 $str = trim($str, ")");
 $parts = explode("),",$str);
 $results = array();
 foreach($parts as $part){
      list($key, $value) = explode("(", $part,2);
      $results[$key] = explode(",", $value);
 }

现在 $results 将包含您指定的输出。

于 2013-07-17T03:48:48.667 回答