1

状況は次のとおりです。

ティム、ロブ、ジムが一緒に住んでいます。ジムはギターを持っていて、それをティムに売りました。ジムはこのお金で新しいファッショナブルな靴を買いました。ロブは誤ってティムのギター(ティムから購入したもの)を壊してしまいました。その後、ロブは怒ったティムにおもちゃのギターをプレゼントしましたが、ティムはすぐに壊してしまいました。

これは、部屋で行われた一連のアクティビティです。最新のアクティビティが最初です。

$all_users_activities = array( 
    case1 => array(username =>'Tim', activity => 'broken', object_type => 'toy', objectname=> 'Guitar'),
    case2 => array(username =>'Rob', activity => 'gifted', object_type => 'toy', objectname=> 'Guitar'),
    case3 => array(username =>'Rob', activity => 'broken', object_type => 'music', objectname=> 'Guitar'),
    case4 => array(username =>'Tim', activity => 'bought', object_type => 'music', objectname=> 'Guitar'),
    case5 => array(username =>'Jim', activity => 'bought', object_type => 'fashion', objectname=> 'shoes'),
    case6 => array(username =>'Jim', activity => 'sold', object_type => 'music', objectname=> 'Guitar')
    );

ここで、このデータを次のように並べ替えます。

  1. ユーザー名
  2. objectname ('object_type' は同じです: 'toy''guitar' は 'music''guitar' とは異なります)
  3. アクティビティ
4

1 に答える 1

0

これをチェックしてください

function aasort (&$array, $key) {
    $sorter=array();
    $ret=array();
    reset($array);
    foreach ($array as $ii => $va) {
        $sorter[$ii]=$va[$key];
    }
    asort($sorter);
    foreach ($sorter as $ii => $va) {
        $ret[$ii]=$array[$ii];
    }
    $array=$ret;
    echo "<pre>";
    print_r($array);
}
$all_users_activities=array( 
    case1 => array('username' =>'Tim', activity => 'broken', object_type => 'toy', objectname=> 'Guitar'),
    case2 => array('username' =>'Rob', activity => 'gifted', object_type => 'toy', objectname=> 'Guitar'),
    case3 => array('username' =>'Rob', activity => 'broken', object_type => 'music', objectname=> 'Guitar'),
    case4 => array('username' =>'Tim', activity => 'bought', object_type => 'music', objectname=> 'Guitar'),
    case5 => array('username' =>'Jim', activity => 'bought', object_type => 'fashion', objectname=> 'shoes'),
    case6 => array('username' =>'Jim', activity => 'sold', object_type => 'music', objectname=> 'Guitar')
    );
aasort($all_users_activities,"username");
于 2012-06-25T08:45:14.973 に答える