1

我想修改迭代SPLObjectStorage对象的方式,比如先按数据(信息)排序。

因此,在一个循环中,它以数字方式从 a 到 z(使用 sort() 函数)

但是,在 SPLObjectStorage 中,无法访问数组,对吗?

是否可以这样做,因为我们无法访问对象数组?

4

1 回答 1

1

不,这是不可能的。内部SplobjectStorage使用与数组相同的数据结构(the HashTable),但它不是我们从 PHP 用户区知道的“数组数组”:我们只添加值而不是键,因为键实际上是通过散列值从值生成的(您甚至可以通过覆盖getHash方法来覆盖它)。另一个区别是您可以另外向对象添加信息。

简而言之,SplObjectStorage 不应该用作数组,而作为集合或映射,它的优势在于。

于 2015-08-14T19:36:59.693 回答