2012-06-25 3 views
1

Произошла ситуация:Сортировка многопроцессорной матрицы

Тим, Роб и Джим живут togather. У Джима была гитара, которую он продал Тиму. Этими деньгами Джим купил новую пару модных туфель. Роб случайно сломал гитару Тима (которую он купил у Тима). После этого Роб одаренный сердитый Тим игрушечная гитара, которой Тим не успел сломаться.

Вот массив действий, которые были выполнены в комнате, в первую очередь, в первую очередь.

$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. имя_объекта (где 'object_type' такое же: 'toy''guitar' отличается от 'музыки'» гитара ')
  3. активность
+0

Вы должны взглянуть на http://php.net/manual/fr/function.usort.php –

+0

Кроме того, если вы использовали поиск, вы найдете их: http://stackoverflow.com/questions/tagged/multidimensional-array + php + array-sorting – poncha

+0

Возможный дубликат [Сортировка многомерного массива в PHP?] (http://stackoverflow.com/questions/1795244/sorting-a-multidimensional-array-in-php) –

ответ

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"); 
+0

Я думаю, что мой ответ сработал для вас ... Пожалуйста, примите ответ, если вы думаете, что это помогло, щелкнув по отметке ... – Wazzzy

+0

Да Васим, это сработало для меня. назад, если я получу путаницу наполовину :) –

+0

@doing_something_wonderful Спасибо за прием ... Я ценю это ... – Wazzzy

Смежные вопросы