Многомерный массив PHP из результатов базы данных

Я немного новичок в многомерных массивах и хотел бы посмотреть, правильно ли я делаю это. желательно, я хотел бы назвать массивы в основном массиве для удобства использования.

$unique_array = array( username=>array(), user_id=>array(), weeknumber=>array() ); 

и затем у меня есть цикл while, который проверяет некоторые результаты базы данных:

 while($row = mysql_fetch_array($query)) //yes, I know mysql is deprecated { $unique_array[] = username=>$row['username'], user_id=>$row['user_id'], week number=>['weeknumber']; } 

Я не уверен, правильно ли размещаю значения в массиве из цикла while, или если это нужно сделать другим способом. Я не мог найти никаких ресурсов, которые я мог бы легко понять в SO или где-либо еще, чтобы иметь дело с результатами запроса в именованном массиве в многомерном массиве.

ИЗМЕНИТЬ СЛЕДУЮЩИЙ ВОПРОС: Мне также нужно проверить массив на повторяющиеся значения, потому что будет несколько значений, которые будут точно такими же, но я хочу только одного из них.

Любая помощь приветствуется!

РЕДАКТИРОВАТЬ РЕШЕНИЕ:

Изменив ответ, я смог создать код, соответствующий моим потребностям.

Инициализация массива:

 $unique_array = array( 'username'=>array(), 'user_id'=>array(), 'weeknumber'=>array() ); 

Построение массива из цикла while:

 while($row = mysql_fetch_array($query)) { $unique_array[] = array('username'=>$row['username'], 'user_id'=>$row['user_id'], 'weeknumber'=>$row['weeknumber']); } 

И, наконец, мне нужно убедиться, что значения массива уникальны (есть записи дубликатов в результате ограничений базы данных и запросов), после цикла while у меня есть:

 print_r(multi_unique($unique_array)); 

Является ли верхний уровень ассоциативным массивом или числовым массивом?

Если это ассоциативный массив, он должен иметь такую ​​структуру:

 $unique_array = array( 'username'=>array('John','Mike',...), 'user_id'=>array(1,2,3,...), 'week_number'=>array(1,2,3,...) ); 

Или, если это числовой массив, он должен иметь такую ​​структуру:

 $unique_array = array( array('username'=>'John', 'user_id'=>1, 'week_number'=>1), array('username'=>'Mike', 'user_id'=>2, 'week_number'=>2), array('username'=>'Sam', 'user_id'=>3, 'week_number'=>3), ... ) 

для первого типа используйте следующий код:

 while ($row = mysql_fetch_assoc($query)) { $unique_array['username'][] = $row['username'], $unique_array['user_id'][] = $row['user_id'], $unique_array['week_number'][] = $row['week_number'], } 

для второго типа это что-то вроде вашего кода. Но есть некоторые проблемы с синтаксисом:

 while($row = mysql_fetch_array($query)) //yes, I know mysql is deprecated { $unique_array[] = array('username'=>$row['username'], 'user_id'=>$row['user_id'], 'week_number'=>$row['weeknumber']); }