相同的单词只能在字符串中使用一次

时间:2016-01-21 14:35:04

标签: php

我的网站上有一个简单的消息功能,今天我开始致力于发送给多个用户,这就是我走了多远:

到目前为止效果很好,但我刚刚意识到你只需要多次输入相同的用户名

那么我怎样才能限制只出现一次相同的单词呢?有这个功能吗?谷歌搜索'php同一个词只有一次'和类似我没有找到太多,但我的英语不是很好

$recipients = 'bob;randomhero;wambamtymam;bill'; // exempel

$recipients_exploded = explode(';', $recipients);
foreach ($recipients_exploded as $recipient) {

    if (empty($recipients)) {
        $error = 'vänligen ange åtminstone en mottagare';
    }

    else if (count($recipients_exploded) > 10) {
        $error = 'du kan endast skicka till 10 stycken användare i ett och samma svep';
    }

    else if (!usernameExist($recipient)) {
        $error = 'det finns ingen användare vid namn '.htmlspecialchars($recipient).'.';
    }

2 个答案:

答案 0 :(得分:1)

您可以使用array_unique,它会为您提供唯一的值。

答案 1 :(得分:0)

代码

$recipients_array= explode(';', $recipients);
$unique_recipients_array = array_unique($recipients_array);

说明

您的用户名条目以;字符分隔。首先,您必须使用explode方法分隔每个用户名并形成一个数组。

现在,php有一个名为array_unique的函数。它将接受一个数组作为输入,并将唯一元素作为数组返回。因此$unique_recipients_array将仅包含唯一条目