数组中的数据总数

时间:2018-04-12 23:11:11

标签: php mysql

我试图获得以dB为单位输入的国家总数。显然其中一些将是重复的,所以我不想要总行数,而是需要总国家数。例如:

Russia -> 5
USA -> 10
Canada -> 6
Mexico -> 12

在这个数据集中,我试图得到的总数是4.

现在我有这个问题:

$query = mysqli_query($con, "SELECT COUNT(id) AS countCnt, country FROM users GROUP BY country ORDER BY COUNT(id) DESC");

然后我迭代查询的值:

   while($row = mysqli_fetch_assoc($query)) {
    $country = $row['country'];
    $countryCount = $row['countCnt'];
    $countries[$country] = $countryCount;
    }
    $country_text = array_keys($countries);
    $country_count = array_values($countries);

我如何从$country_text返回国家总数?我想将这个数字分配给变量$ x。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

由于您是GROUPING BY国家/地区,因此查询返回的行数将是国家/地区的数量。所以

$x = mysqli_num_rows($query);

答案 1 :(得分:0)

另一种方法是使用子查询来执行此操作:

SELECT COUNT(*) as total FROM(
    SELECT COUNT(id) AS countCnt, country FROM users
    GROUP BY country ORDER BY COUNT(id) DESC
)

答案 2 :(得分:-1)

http://php.net/manual/en/function.array-unique.php

$country_text = array_unique($countries);