有没有办法维护一个排序的对象数组?
例如,如果我有一个具有属性 ID、日期、名称和这些对象的集合的对象:
$col = array();
public function addNewObject($id, $date, $name)
{
$col[] = new Object($id, $date, $name);
//but instead of appending, it should place it by Name desc
}
如果我调用 getObjects 之类的东西,它将按名称 desc 返回集合中的项目。
我认为以排序顺序取回对象有一些答案,但为了提高效率,我认为最好在插入时排序,因为在我的情况下,“排序依据”变量永远不会改变。
更新: 所以根据评论,每次添加东西时我都应该使用整个数组,但这似乎有点占用内存......
由于数组总是按排序顺序开始,我可以通过遍历数组来识别我想要插入的位置(这会有效吗,有更好的方法吗?)。一旦我发现如何将新对象“插入”到数组中?
我不认为数组会很大,但我想以最有效的方式实现这一点。