2012-10-16 30 views
0

我有如下所示的數組。我想根據對象參數a_weight對這些進行排序。我無法做到這一點,第二件事是這個關鍵a_weight可以在不同的對象,如下面顯示具有相同的值。任何幫助排序呢?當2個屬性具有相同的值時對數組中的對象進行排序

[0] => stdClass Object 
     (
      [a_priority] => 1 
      [a_roleobjectid] => 1 
      [a_roleid] => 1 
      [a_objectid] => 1 
      [a_objecttypeid] => 2 
      [a_name] => Object Type 
      [a_path] => abc/b 
      [a_createddate] => 2012-10-08 11:00:00 
      [a_createdby] => 1 
      [a_modifieddate] => 2012-10-08 11:05:50 
      [a_modifiedby] => 1 
      [a_weight] => 1 
      [a_cancreate] => 1 
      [a_canread] => 1 
      [a_canupdate] => 1 
      [a_candelete] => 1 
      [a_canprint] => 1 
      [a_canexport] => 1 
     ) 

    [1] => stdClass Object 
     (
      [a_priority] => 1 
      [a_roleobjectid] => 2 
      [a_roleid] => 1 
      [a_objectid] => 2 
      [a_objecttypeid] => 2 
      [a_name] => Object 
      [a_path] => abc/a 
      [a_createddate] => 2012-10-08 11:00:00 
      [a_createdby] => 1 
      [a_modifieddate] => 2012-10-08 11:05:50 
      [a_modifiedby] => 1 
      [a_weight] => 3 
      [a_cancreate] => 1 
      [a_canread] => 1 
      [a_canupdate] => 1 
      [a_candelete] => 1 
      [a_canprint] => 1 
      [a_canexport] => 1 
     ) 
[2] => stdClass Object 
     (
      [a_priority] => 1 
      [a_roleobjectid] => 3 
      [a_roleid] => 1 
      [a_objectid] => 3 
      [a_objecttypeid] => 2 
      [a_name] => Role 
      [a_path] => abc/r 
      [a_createddate] => 2012-10-08 11:00:00 
      [a_createdby] => 1 
      [a_modifieddate] => 2012-10-08 15:19:02 
      [a_modifiedby] => 1 
      [a_weight] => 1 
      [a_cancreate] => 1 
      [a_canread] => 1 
      [a_canupdate] => 1 
      [a_candelete] => 1 
      [a_canprint] => 1 
      [a_canexport] => 1 
     ) 

回答

1

您需要使用uasort功能。在http://php.net/manual/en/function.uasort.php

更多信息您的情況的一個例子是:

function mysort($a, $b){ 
    return $a->a_weight < $b->a_weight ? -1 : 1; 
} 
$objects = uasort($objects, 'mysort'); 
相關問題