2017-03-11 112 views
0

我想創建一個新的數組,其中用戶可以訪問扇區。從MySQL查詢中創建新數組

$sector = '60'; 

創建具有用戶ID的新陣列(2和4)在這種情況下...

$result = mysql_query("SELECT user_id, user_sectors FROM admin_users"); 
    while ($row = mysql_fetch_array($result)) { 
     $id[] = $row[user_id]; 
     $sectors[] = unserialize(base64_decode($row[user_sectors])); 
    } 

$combine = array_combine($id, $sectors); 
print "<pre>"; 
print_r($combine); 
print "</pre>"; 

Array 
(
[2] => Array <<<<<<<<<< USER ID 
    (
     [0] => 49 <<<<<<<<<< SECTORS 
     [1] => 60 
     [2] => 69 
     [3] => 65 
     [4] => 66 
     [5] => 59 
     [6] => 71 
     [7] => 57 
    ) 

[3] => Array <<<<<<<<<< USER ID 
    (
     [0] => 49 <<<<<<<<<< SECTORS 
    ) 

[4] => Array <<<<<<<<<< USER ID 
    (
     [0] => 49 <<<<<<<<<< SECTORS 
     [1] => 60 
     [2] => 65 
     [3] => 58 
    ) 
) 

回答

1

使用user_id作爲陣列的密鑰和附加[]user_sectors一個數組項:

while ($row = mysql_fetch_array($result)) { 
    $sectors[$row['user_id']][] = unserialize(base64_decode($row['user_sectors'])); 
} 

話雖這麼說,對於mysql_*()功能:

警告此擴展在PHP 5.5.0中被棄用,並且在PHP 7.0.0中被刪除。應該使用MySQLi或PDO_MySQL擴展 。另請參閱MySQL:有關更多信息,請選擇API指南和相關常見問題 。替代該功能包括:

  • mysqli_fetch_array()
  • PDOStatement對象::獲取()