print_r($tmp);
打印
Array
(
    [0] => Array
        (
            [id] => 3
            [sid] => 0
            [name] => 新闻中心
            [model] => news
            [oid] => 5
        )    [1] => Array
        (
            [id] => 5
            [sid] => 0
            [name] => 美丽密语
            [model] => pretty
            [oid] => 3
        )    [2] => Array
        (
            [id] => 10
            [sid] => 3
            [name] => 公司新闻
            [model] => news
            [oid] => 2
        )    [3] => Array
        (
            [id] => 11
            [sid] => 3
            [name] => 行业新闻
            [model] => news
            [oid] => 1
        ))model 一样的 放到一块去,怎样排序呢

解决方案 »

  1.   


    foreach ($tmp as $k=>$v){
    $m[] = $v['model'];
    $id[] = $v['id'];
    }
    array_multisort($m, SORT_ASC,SORT_STRING,$id,SORT_ASC,SORT_NUMERIC,$tmp);
      

  2.   

    http://q.sohu.com/forum/5/topic/45990970
      

  3.   

    不知道你要哪种语言的,我给你写个java的吧,其实排序很简单的,思想基本都一样。(这是个升序的,要降序的只需将a[j]<a[i]换成a[j]>a[i]就可以了)
    public class order { public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i,j,temp;
    int a[]={10,7,6,8,9,5,2,3,1,4};
    for(i=0;i<=9;i++)
    {
    for(j=i+1;j<10;j++)
    {
    if(a[j]<a[i])
    {
    temp=a[j];
    a[j]=a[i];
    a[i]=temp;
    }
    }
    System.out.print(a[i]+",");
    } }}