Я знаю, что это задавали много раз ранее, но поверьте мне, я проверил свои точные требования и не смог найти правильный метод.
Мне нужен простой массив из 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,
}
Как мне это исправить?
Огромное спасибо заранее.
Вы можете изменить цикл
$countries[$nodes_country_set['country_code']] = $nodes_country_set['userscnt'];
Также Вы можете изменить свой массив следующим образом:
$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
)