mysql — php набор результатов в массив

Я знаю, что это задавали много раз ранее, но поверьте мне, я проверил свои точные требования и не смог найти правильный метод.

Мне нужен простой массив из php resultset из MySQL.

вот мой код

$sql_qry_group = "SELECT country_code, Count(users) as userscnt FROM `users` GROUP by country_code ";
$qry_users_group = mysqli_query($db_conn, $sql_qry_group);
while($users_country = mysqli_fetch_assoc($qry_users_group)) {
$countries[] = $nodes_country_set;
}

когда я делаю print_r для $ стран [], я получаю вывод, как показано ниже.

[1] => Array
(
[country_code] => US
[userscnt] => 727
)

[2] => Array
(
[country_code] => UY
[userscnt] => 53
)

[3] => Array
(
[country_code] => VC
[userscnt] => 4
)

Что мне нужно, так это быть таким массивом

$countries = array(
"US" => 727,
"UY" => 53,
"VC" => 4,
}

Как мне это исправить?

Огромное спасибо заранее.

0

Решение

Вы можете изменить цикл

$countries[$nodes_country_set['country_code']] = $nodes_country_set['userscnt'];
0

Другие решения

Также Вы можете изменить свой массив следующим образом:

$result = [];
array_walk($data,function($v,$k)use (&$result){
$result[$v['country_code']] =  $v['userscnt'];
});
print_r($result);

Выход:

Array
(
[US] => 727
[UY] => 53
[VC] => 4
)
0

По вопросам рекламы [email protected]