2

私は多次元配列に少し慣れていないので、正しく行っているかどうかを確認したいと思います。できれば、使いやすいようにメイン配列内の配列に名前を付けたいと思います。

$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 または他の場所で簡単に理解できるリソースを見つけることができませんでした。

追加の質問の編集: まったく同じ値が複数存在するため、配列の重複値もチェックする必要がありますが、そのうちの 1 つだけが必要です。

どんな助けでも大歓迎です!

編集ソリューション:

回答を変更することで、ニーズに合わせてコードを作成できました。

配列の初期化:

$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));
4

1 に答える 1