我正在寻找最佳方式来存储包含两个属性的对象,按顺序可以查找对象。还需要在指定键(存储对象的属性之一)之前和之后插入新对象的简单方法。
我目前正在尝试使用SplDoublyLinkedList,它具有始终被排序的良好属性以及通过add($ index,$ object);按索引插入节点的功能。然而,DLL需要循环遍历整个列表以执行任何查找和附加循环以将内部指针重置为记住位置。
我在思考经典的php数组,但它需要丑陋的array_splice hacks来执行插入(将数组拆分为键和值,在所需索引中切割两个数组,将键和值添加到第一个键和值数组中,合并生成的数组和然后将键与值组合在一起并跟踪当前位置不太直观。
最好的选择是什么?