排序的方法有
sort
asort
ksort
不知道你的意思。

解决方案 »

  1.   

    就是说如果用下面这个
    while($row = $db->fetch_array($result)) 

      $preach[$row['curdate']][] = $row; 
    }
    数组显示是我想要的结果:
    [2008-11-25] => Array
            (
                [0] => Array
                    (
                        [p_id] => 16
                        [city] => 2
                        [school] => 上海交通大学法国阿海珐集团(AREVA)
                        [address] => 光彪楼一楼多功能厅法国阿海珐集团(AREVA)法国阿海珐集团(AREVA)
                        [companyname] => 法国阿海珐集团(AREVA)法国阿海珐集团(AREVA)
                        [contents] => 光彪楼一楼多功能厅
                        [meetingdate] => 2008-11-25
                        [meetingtime] => 5:00-12:00
                        [re] => 0
                    )            [1] => Array
                    (
                        [p_id] => 17
                        [city] => 2
                        [school] => 华东理工大学
                        [address] => 一教101
                        [companyname] => 京滨电子装置研究开发(上海)有限公司
                        [contents] => 
                        [meetingdate] => 2008-11-25
                        [meetingtime] => 5:00-11:00
                        [re] => 0
                    )            [2] => Array
                    (
                        [p_id] => 19
                        [city] => 0
                        [school] => 中国商用飞机有限责任公司
                        [address] => 中国商用飞机有限责任公司
                        [companyname] => 中国商用飞机有限责任公司
                        [contents] => 中国商用飞机有限责任公司
                        [meetingdate] => 2008-11-25
                        [meetingtime] => 15:00-20:00
                        [re] => 0
                    )
             )
    [2008-11-26] => Array
            (
                [0] => Array
                    (
                        [p_id] => 23
                        [city] => 3
                        [school] => 广东外语外贸大学
                        [address] => 南校区图书馆多功能报告厅
                        [companyname] => TNT中国
                        [contents] => 南校区图书馆多功能报告厅
                        [meetingdate] => 2008-11-26
                        [meetingtime] => 18:00-21:00
                        [re] => 0
                    )            [1] => Array
                    (
                        [p_id] => 25
                        [city] => 2
                        [school] => 上海财经大学
                        [address] => 红瓦楼三楼小礼堂
                        [companyname] => 韩国乐天公司
                        [contents] =>  红瓦楼三楼小礼堂 
                        [meetingdate] => 2008-11-26
                        [meetingtime] => 10:00-13:00
                        [re] => 0
                    )        )
    )但把要截取的字段 $preach[$row['curdate']][$x]['sub_companyname'] = cutstr($row['companyname'],38); 
    加进去就显示成上面那样了,那个[2008-11-26]里的键值不按顺序排的,
    如果这样:
    $x = 0;
    while($row = $db->fetch_array($result))
    {
       $preach[$row['meetingdate']][] = $row;
       array_push($preach[$row['meetingdate']][$x]['sub_companyname'],cutstr($row['companyname'],38));
       $x++;
    }
    就出错Warning: array_push() [function.array-push]: First argument should be an array in F:\ut\job\include\global.func.php on line 1100其实就是往$preach数组里添加新的元素,里面的键值按顺序排列。日期分组后为第一个键值
      

  2.   

    1.如果用foreach的话,并不需要考虑键值是否按顺序,如果没有特殊要求,不需要键值的顺序
    2.非要键值按顺序排列不可的话,把数组用foreach循环,重新排一遍就可以了。
      

  3.   

    while($row = $db->fetch_array($result)){
    $row['sub_companyname'] = cutstr($row['companyname'],38);
    $preach[$row['curdate']][] = $row;
    }
    ksort($preach);
      

  4.   

    while($row = $db->fetch_array($result)) 

      $preach[$row['meetingdate']][] = $row; 
      array_push($preach[$row['meetingdate']][$x]['sub_companyname'],cutstr($row['companyname'],38)); 
      $x++; 
    } =>while($row = $db->fetch_array($result)) 

      $tmpArray = $row;
      $tmpArray['sub_companyname'] = cutstr($row['companyname'],38);
      $preach[$row['meetingdate']][] = $tmpArray; 
    } 你的思路有点问题,为什么不将处理好的数组传给$preach呢,呵呵.换个思路,问题就解决了.呵呵.
      

  5.   

    int array_push ( array &array, mixed var [, mixed ...] )
    第一个参数应该是个数组,
    array_push($preach[$row['meetingdate']][$x]['sub_companyname'],cutstr($row['companyname'],38)); 
    LZ程序中不是。
      

  6.   

    初学php思路有点混乱,谢谢各位的指教啊。