我使用下面的代码来计算表中locations的数量:

$result = mysqli_query($conn,"SELECT location FROM table ORDER BY location");

$aloc_list = array();
while ($row = mysqli_fetch_array($result))
        {$aloc_list[] = $row['location'];
        }

print_r(array_count_values($aloc_list));

它给出了以下数组:
Array
(
    [CANADA] => 106
    [USA] => 547
    [MEXICO] => 93
    [GREAT_BRITAIN] => 111
    [EASTERN_EUROPE] => 227
    [RUSSIA] => 405
    [CHINA] => 341
    [INDIA] => 253
)

我试图“提取”数组值并将其放入变量中,但似乎没有任何效果:
$canada = $aloc_list[0];
$canada = $aloc_list['CANADA'];
$canada = $aloc_list[0]['CANADA'];
$canada = $aloc_list[0];

我想得到一个称为$canada等于106的变量,一个称为$usa等于547的变量,等等。
我该怎么做?

最佳答案

您试图从原始的$aloc_list数组中选择所提到的值,但是它们不直接存在于其中。它们是调用array_count_values($aloc_list)的结果-这将生成一个新数组,您需要从中读取。
例如:

$counts = array_count_values($aloc_list);
$canada = $counts['CANADA'];
echo $canada;

10-08 09:28