首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中去除重复数据?

如何在php中去除重复数据?
EN

Stack Overflow用户
提问于 2012-12-10 22:23:11
回答 1查看 109关注 0票数 1

我有一个php的问题,我喜欢让结果如下:

123*thomas*Tiffany*Catherine*EnEn*Gabriel*Elizabeth*Ah高*

但结果如下:

123*123*123*123*123*thomas*thomas*thomas*thomas*Tiffany*Tiffany*Tiffany*Tiffany*Catherine*Catherine*Catherine*Catherine*Catherine*EnEn*EnEn*EnEn*EnEn*Gabriel*Gabriel*Gabriel*Gabriel*Elizabeth*Elizabeth*Elizabeth*Elizabeth*Ah Goh*啊Goh*

谁能告诉我如何解决这个问题?谢谢。

代码如下:

代码语言:javascript
复制
$name = $_POST['Username'];

$data = mysql_query("SELECT * FROM User");                 
$data1 = mysql_query("SELECT Friends.responseRequest FROM User INNER JOIN Friends ON 
            User.username = Friends.sentRequest WHERE User.username = '$name' AND     Friends.status = 'approved'")or die(mysql_error());; 

$data2=mysql_query("SELECT Friends.sentRequest FROM User INNER JOIN Friends ON User.username = Friends.responseRequest WHERE User.username = '$name'
                 AND Friends.status = 'approved'");   


    $user = array();
    while($info1 = mysql_fetch_array($data)){
    array_push($user, $info1[username]);
    }

$friend =array();
     $getFriend1 = mysql_query("SELECT * FROM Friends WHERE sentRequest='$name' AND status='approved'");
     $getFriend2 = mysql_query("SELECT * FROM Friends WHERE responseRequest='$name' AND status='approved'"); 

     while($info2 = mysql_fetch_array($getFriend1)){
    array_push($friend , $info2[responseRequest]);
    }

     while($info3 = mysql_fetch_array($getFriend2)){
    array_push($friend , $info3[sentRequest]);
    }

    $newFriend = array_unique($friend);
    $newUser=array();
    for($i=0;$i<count($user);$i++){
        for($j=0;$j<count($newFriend);$j++){
            if($newFriend[$j]!=$user[$i]&&$user[$i]!=$name){
                echo $user[$i]."*";
            }
        }

    }

    mysql_close();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-10 22:25:43

一种简单的方法(不一定是最好的)是将结果拆分到一个数组中,消除重复项,然后再次连接各个部分。

代码语言:javascript
复制
<?php
$str = '123*123*123*123*123*thomas*thomas*thomas*thomas*Tiffany*Tiffany*Tiffany*Tiffany*Catherine*Catherine*Catherine*Catherine*Catherine*EnEn*EnEn*EnEn*EnEn*Gabriel*Gabriel*Gabriel*Gabriel*Elizabeth*Elizabeth*Elizabeth*Elizabeth*Ah Goh*Ah Goh*Ah Goh*Ah Goh*Ah Goh*';
$aux = array_unique(explode('*', $str));
$str = implode('*', $aux);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13802819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档