Php在不同的字符上分割字符串

Ber*_*ert 3 php regex split

我想在不同的字符上分割一个字符串,我想知道'splitter'是什么.

字符串可以是例如:

"address=test"
"number>20"
"age<=55"
Run Code Online (Sandbox Code Playgroud)

在这些情况下,我想获取数组中的名称,分隔符和值.

array[0]='address';
array[1]='=';
array[2]='test';
Run Code Online (Sandbox Code Playgroud)

分隔符是=,==,!=,<,>,> =,<=.

有人能告诉我这个吗?

yan*_*kee 6

$strings = array("address=test","number>20","age<=55");
foreach($strings as $s)
{
  preg_match('/([^=!<>]+)(=|==|!=|<|>|>=|<=)([^=!<>]+)/', $s, $matches);
  echo 'Left: ',$matches[1],"\n";
  echo 'Seperator: ',$matches[2],"\n";
  echo 'Right: ',$matches[3],"\n\n";
}
Run Code Online (Sandbox Code Playgroud)

输出:

Left: address
Seperator: =
Right: test

Left: number
Seperator: >
Right: 20

Left: age
Seperator: <=
Right: 55
Run Code Online (Sandbox Code Playgroud)

编辑:此方法使用[^ =!<>]使该方法更倾向于完全失败而不是给出意外结果.意义foo=bar<3无法被识别.这当然可以改变以满足您的需求:-).