我有如下的数组。我想根据对象参数a_weight
对这些进行排序。我无法做到这一点,第二件事是这个键a_weight
可以在不同的对象中具有相同的值,如下面的show所示。有什么帮助排序吗?
[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
)
答案 0 :(得分: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');