Php mysql获取数组的问题

Php mysql获取数组的问题,php,Php,我使用下面的代码循环记录并显示国家/地区值。如果有重复的值,它们都会像澳大利亚、澳大利亚、美国、美国一样列出。我怎样才能删除任何重复的,只是显示澳大利亚,美国?我不能在mysql\u查询中使用DISTINCT,因为我需要使用现有的mysql\u查询。谢谢 <?php while($row = mysql_fetch_array($result)) { echo $row['Country']; } ?> 最好的方法是在MySQL查询中使用子句: SELECT DISTINC

我使用下面的代码循环记录并显示国家/地区值。如果有重复的值,它们都会像澳大利亚、澳大利亚、美国、美国一样列出。我怎样才能删除任何重复的,只是显示澳大利亚,美国?我不能在mysql\u查询中使用DISTINCT,因为我需要使用现有的mysql\u查询。谢谢

<?php
while($row = mysql_fetch_array($result)) {
   echo $row['Country'];
}

?>

最好的方法是在MySQL查询中使用子句:

SELECT DISTINCT Country FROM table_name
但是,由于您添加了以下内容:


我不能在mysql\u查询中使用DISTINCT,因为我需要使用现有的mysql\u查询

您只需将所有国家/地区存储在一个数组中,然后使用PHP的内置函数删除重复值,如下所示:

while($row = mysql_fetch_array($result)) {
    $countries[] = trim( $row['Country'] );
}
$countries = array_unique($countries);

您的数据库中是否有重复的值?请在回迁查询中使用DISTINCT命令,仅提取每条记录一次!在您选择country use Distinct(country)的查询中,将不会得到重复项。是的,我在dbI中有重复项,我无法在mysql\u查询中使用Distinct,因为我需要使用现有的mysql\u查询。Amal使用Distinct限定符的方法正确。要完成此操作,您需要分组,否则将丢失信息@user1823053,我假设您将对一些值进行求和,以获得所考虑国家的所有信息。感谢您,因为您可能认为我对此非常陌生-然后如何在页面上显示结果?@user1823053:
foreach($countries as$country){echo$country;}
--应该这样做,但请注意,这不是一个很好的方法。见上文crafter的评论。
while($row = mysql_fetch_array($result)) {
    $countries[] = trim( $row['Country'] );
}
$countries = array_unique($countries);