Googleでたくさん検索した後でも、3次元の連想配列をソートする方法を理解できません。
実際には、ジョブの投稿日に従って、各ユーザーのアラートのジョブを並べ替えたいと考えています。
コードは次のとおりです。
$sql = "SELECT * FROM `bf_alert_stack` WHERE `type` = 'immediately' order by created desc";
$q = db_query($sql);
$user_alerts = array();
while ($row = db_fetch_array($q))
{
$user_alerts [$row['uid']] [$row['alert_id']] [$row['nid']] = $row['nid'];
}
$user_alerts 配列の $row['nid'] には、特定のユーザーのアラートのジョブが含まれています。
ユーザーがその時点で電子メール アラートを受信すると、日付に従って並べ替えられた順序でジョブを表示する必要があります。
以下は、$user_alerts 配列からのサンプル データです。
Array
(
[144320] => Array
(
[3568728] => Array
(
[30832] => 30832
)
[3568884] => Array
(
[30837] => 30837
[30827] => 30827
[30828] => 30828
[30830] => 30830
[30831] => 30831
[30832] => 30832
[30838] => 30838
[30839] => 30839
[30826] => 30826
[30806] => 30806
[30808] => 30808
[30807] => 30807
[30698] => 30698
[30697] => 30697
[30601] => 30601
)
)
[144330] => Array
(
[3568731] => Array
(
[30827] => 30827
[30839] => 30839
[30838] => 30838
[30837] => 30837
[30832] => 30832
[30831] => 30831
[30830] => 30830
[30828] => 30828
[30826] => 30826
[30806] => 30806
[30808] => 30808
[30807] => 30807
[30698] => 30698
[30697] => 30697
[30601] => 30601
)
)
[144218] => Array
(
[3568753] => Array
(
[30808] => 30808
)
)
[144216] => Array
(
[3568732] => Array
(
[30808] => 30808
)
)
)
行 ['nid'] に基づいて user_alerts 配列の上でこれを並べ替えたいのですが、行 ['nid'] の詳細はデータベース テーブルにあります。すべての nid は、テーブルに存在する nid の作成日に従って再配置する必要があります。