【问题标题】:Custom iteration for SplObjectStorageSplObjectStorage 的自定义迭代
【发布时间】:2015-10-31 20:27:57
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: php spl splobjectstorage


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 2013-02-17
      • 2016-04-05
      • 2016-06-18
      • 2015-11-19
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多