2013-04-02 53 views
0

即使经过大量的谷歌搜索,我无法理解,我如何排序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阵列,$行[ '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 
       ) 

     ) 

) 

我想解决这上面user_alerts基于行[“NID”]数组,但行[“NID”]的细节在数据库表中的样本数据。所有的nid都应该根据表中存在的nid的创建日期重新排列。

+0

我应该在这里考虑什么日期......? – alwaysLearn

+0

其实节点号。用于从表 – Akki

+0

检索日期,所以我必须使用'$ row ['nid']'来排序 – alwaysLearn

回答

0

有点混淆这个,但也许偶然这会工作..?

$sql = "SELECT * FROM `bf_alert_stack` WHERE `type` = 'immediately' ORDER BY `created` DESC, `uid` ASC, `alert_id` DESC, `nid` DESC"; 
相关问题