2016-04-01 3 views
0

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

Мне нужен простой массив из набора результатов php из 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, 
} 

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

Большое вам спасибо.

+1

'array_column ($ страны" userscnt "," country_code ");' – Rizier123

ответ

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

Это сработало отлично. огромное спасибо –