2016-04-01 122 views
0

我知道它已被問過很多次,但相信我,我做了研究我的確切要求,並找不到正確的方法。PHP結果集到數組

我需要mysql的php結果集中的簡單數組。

這裏是我的代碼

$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

您可以通過修改while循環

$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

這工作完美。非常感謝 –