정렬 된 객체 배열을 유지 관리 할 수있는 방법이 있습니까? 내가 속성 ID, 날짜, 이름과이 개체의 컬렉션을 가진 객체가있는 경우정렬 된 객체 배열
예를 들어, : 내가있는 getObjects 뭔가를 호출하는 경우
$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
}
, 그것은 이름하여 컬렉션의 항목을 반환 desc.
개체를 정렬 된 순서로 다시 가져 오는 방법에 대한 해답이 있다고 생각합니다. 효율성을 위해 필자의 경우 "정렬 기준"변수로 삽입 할 때 정렬하는 것이 더 좋을 것이라고 생각합니다.
는UPDATE : 배열은 항상에 정렬 된 순서에있을 것 때문에 ...
을 그래서 의견에 따라 , 나는 때마다 뭔가가 추가되어 전체 배열을 의지해야하지만 집중적 인 비트 메모리를 보인다 배열을 횡단하여 삽입하려는 위치를 식별 할 수 있습니다 (이 방법이 더 효율적일까요? 더 좋은 방법이 있습니까?). 일단 내가 어떻게 배열에 새로운 객체를 "삽입"할 수 있는지 알게되면?
배열이 매우 커도 상상할 수는 없지만 가능한 가장 효율적인 방법을 구현하고 싶습니다.
이전 배열을 유지하고 복제본을 재정렬하기 위해 배열 객체를 복제 할 수 있습니다. – thegrunt
이러한 순서를 유지하는 방법은 새 항목을 추가 한 후 전체 배열을 사용하는 것입니다. –
@thegrunt의 답을 바탕으로 요소를 추가 한 후 배열을 정렬하면 필요할 때 정렬됩니다. 같은 방식으로 항상 정렬되기를 원하기 때문에 배열에 대한 다중 액세스로 인해 여러 정렬이 발생하지는 않습니다. 올바른 위치에 삽입하려면 어쨌든 새로운 요소가있는 곳을 파악하는 '정렬'이 필요합니다. 어레이의 크기에 따라 추가 작업을 할 가치가 없을 수도 있습니다. – Floris