2016-07-22 91 views
0

我有一個SQL記錄集,我希望將其轉換爲數組,然後我可以在不更改數據庫數據的情況下更改年齡。SQL行到php assoc數組

我希望能夠通過名字來引用年齡。例如,我的源數據只是名稱和年齡的兩列。

// Initialise the pupils array 
$query = "SELECT name, age FROM class"; 
$result = pg_query($query) or die('Query failed: ' . pg_last_error()); 
$pupils = pg_fetch_all($result); 
print_r($pupils); 

這給了我:

Array 
(
    [0] => Array 
     (
      [name] => Bob 
      [age] => 3 
     ) 

    [1] => Array 
     (
      [name] => Sue 
      [age] => 5 
     ) 

    [2] => Array 
     (
      [name] => Mary 
      [age] => 7 
     ) 

) 

我要的是:

Array 
(
    [Bob] => 3, 
    [Sue] => 5, 
    [Mary] => 7 
} 
+0

什麼是應該,如果你發生有多個* Bob *?您的請求會打破查詢的關係方面。 –

回答

0

使用array_column()建立這個數組:

$pupils = pg_fetch_all($result); 
$students = array_column($pupils, 'age', 'name'); 
+0

完美,謝謝約翰。 – Dercni