关联数组与 SplObjectStorage
我正在编写代码来管理唯一对象的集合。此代码的第一个原型使用关联数组,基本上是因为这是我一直以来的做法。
但是,我也热衷于利用添加到更现代的PHP版本中的功能,例如这样做,部分原因是作为一种学习体验,部分原因是它必然会提供优势(我看到的基准测试表明,在很多情况下,它可能比数组更快)。[SplObjectStorage][1]
SplObjectStorage
当前实现有一个关联数组,在向其添加新对象之前,我检查该数组以查看对象是否已在数组中。in_array()
我可以看到的一个大问题是,它似乎(乍一看)不支持键/值关联数组行为,只能被视为索引数组。但是,PHP较新功能的文档不符合该语言更成熟部分的文档标准,我可能只是错过了一些东西。SplObjectStorage
是否可以使用代替关联数组?如果是这样,如何在添加新对象时定义键?更重要的是,与关联数组相比,它们的相对优点和缺点是什么?SplObjectStorage
SplObjectStorage