2017-03-11 113 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对象::获取()