Nat*_*ndt 2 php string preg-replace
我有一个类似这样的字符串:
$string = "Item 1|Item 2|Item 3|Item 4|Item 5"
Run Code Online (Sandbox Code Playgroud)
迭代此字符串并删除重复项的最佳方法是什么.所以例如它会知道要比较的每个代码部分都在'|'之间 字符.
它将选择Item1和preg_replace()该Item的其余字符串.然后它将查看下一个Item(Item2)以及preg_replace()该Item 的其余字符串.
棘手的部分是如果Item 1 == Item 2.然后,算法将替换第2项,第3项将是下一个要查看的项目.
我尝试了几种方法,但没有任何工作.有任何想法吗?谢谢!
如果我理解正确,忽略你所有的东西,preg_replace()如果你真的只是想删除重复,那么使用一些数组操作.
explode()它在|一个数组中.用它过滤它array_unique()并将implode()它过滤回管道分隔的字符串:
$array = explode("|", "Item 1|Item 2|Item 3|Item 4|Item 5");
$unique = array_unique($array);
implode("|", $unique);
Run Code Online (Sandbox Code Playgroud)