如何通过多个分隔符字符爆炸数组

Mor*_*pha 2 php arrays

我有一个像这样的字符串:

abc=1&def=abc||abc=xyz&xyz=1

我怎么能用&||字符来爆炸呢?

例如,在这种情况下,阵列应该是

[0] => 'abc=1'
[1] => 'def=abc'
[2] => 'abc=xyz'
[3] => 'xyz=1'
Run Code Online (Sandbox Code Playgroud)

cyp*_*her 8

使用preg_split:

$str = 'abc=1&def=abc||abc=xyz&xyz=1';
$arr = preg_split('#(&|[\|]{2})#', $str);
var_dump($arr);
Run Code Online (Sandbox Code Playgroud)

会产生

array
  0 => string 'abc=1' (length=5)
  1 => string 'def=abc' (length=7)
  2 => string 'abc=xyz' (length=7)
  3 => string 'xyz=1' (length=5)
Run Code Online (Sandbox Code Playgroud)