【问题标题】:PHP: Get union of a string [duplicate]PHP:获取字符串的联合[重复]
【发布时间】:2012-07-01 21:28:26
【问题描述】:

可能重复:
remove duplicate from string in PHP

有一个类似的字符串:

$str = "1 - 1 - 2 - 3 - 1 - 4 - 3 - 1 - 2 - 5 - 6 - 4";

我需要得到

$str = "1 - 2 - 3 - 4 - 5 - 6";

任何帮助.. :(

【问题讨论】:

  • 我投了反对票,因为最好用代码示例来解释你的尝试。坐下来阅读手册,first 是学习的最佳方式:)

标签: php string


【解决方案1】:

例子/Demo:

$elements = array_unique(explode(' - ', $input));
sort($elements);
$str = implode(' - ', $elements);

【讨论】:

  • 啊,也排序了,好地方。
【解决方案2】:

我刚刚快速浏览了一下,代码来自

这对你有用。

你可以看到a demo of the example

【讨论】:

    【解决方案3】:

    类似这样的:

    <?php
    $str = str_replace(' - ', ',', $str);
    $items = array_unique(explode(',', $str));
    echo implode(' - ', $items);
    ?>
    

    我已经交换了 space-hifen-space 分隔符,因此您可以看到中间步骤中发生了什么 - 但如果您愿意,您可以立即展开。

    【讨论】:

      【解决方案4】:

      如果你必须创建具有唯一值的新字符串,你可以试试这个:

      implode(' - ', array_unique(explode(' - ', $array)));
      

      【讨论】:

        【解决方案5】:

        是的,我会这样做:

        $strArray = explode(' - ',$str);
        str = array_unique($strArray);
        

        或者类似的东西。

        【讨论】:

        • errr,你可能想把它内爆回 $str :P
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-04
        • 2013-08-12
        • 1970-01-01
        • 2020-09-30
        • 2018-02-04
        相关资源
        最近更新 更多