【发布时间】:2012-07-01 21:28:26
【问题描述】:
有一个类似的字符串:
$str = "1 - 1 - 2 - 3 - 1 - 4 - 3 - 1 - 2 - 5 - 6 - 4";
我需要得到
$str = "1 - 2 - 3 - 4 - 5 - 6";
任何帮助.. :(
【问题讨论】:
-
我投了反对票,因为最好用代码示例来解释你的尝试。坐下来阅读手册,first 是学习的最佳方式
:)
有一个类似的字符串:
$str = "1 - 1 - 2 - 3 - 1 - 4 - 3 - 1 - 2 - 5 - 6 - 4";
我需要得到
$str = "1 - 2 - 3 - 4 - 5 - 6";
任何帮助.. :(
【问题讨论】:
:)
例子/Demo:
$elements = array_unique(explode(' - ', $input));
sort($elements);
$str = implode(' - ', $elements);
【讨论】:
我刚刚快速浏览了一下,代码来自
remove duplicate from string in PHP
$str = implode(' - ',array_unique(explode(' - ', $string )));
这对你有用。
你可以看到a demo of the example。
【讨论】:
类似这样的:
<?php
$str = str_replace(' - ', ',', $str);
$items = array_unique(explode(',', $str));
echo implode(' - ', $items);
?>
我已经交换了 space-hifen-space 分隔符,因此您可以看到中间步骤中发生了什么 - 但如果您愿意,您可以立即展开。
【讨论】:
如果你必须创建具有唯一值的新字符串,你可以试试这个:
implode(' - ', array_unique(explode(' - ', $array)));
【讨论】:
是的,我会这样做:
$strArray = explode(' - ',$str);
str = array_unique($strArray);
或者类似的东西。
【讨论】: