快一点;我怀疑这是可能的,但有没有办法利用PHP的array($key => $value);
语法来处理SplObjectStorage
个对象?
我的意思是,有没有这样的方法可以实现:
$store = // ?
new KeyObject() => new ValueObject(),
new KeyObject() => new ValueObject(),
// ...
在初始化对象库的上下文中?截至目前我只是使用:( 并且可能会继续,考虑到这种可能性的纯粹不可能性)
$store = new SplObjectStorage();
$store[new KeyObject()] = new ValueObject();
$store[new KeyObject()] = new ValueObject();
// ...
会很好,非常怀疑它,但也许有人知道的更好。
答案 0 :(得分:2)
为什么不这样做:
$store = new SplObjectStorage();
$data = array(
array(new KeyObject, new ValueObject),
array(new KeyObject, new ValueObject),
array(new KeyObject, new ValueObject),
);
foreach($data as $item) {
list($key, $value) = $item;
$store->attach($key, $value);
}
它不漂亮,但它至少简洁。