我有一个这样的集合:
Collection {#750 ▼
#items: array:18 [▼
18 => User {#691 ▶}
19 => User {#696 ▶}
20 => User {#701 ▶}
]
}
18,19,20应该有所不同
我试着用
打电话 $collection->get(0);
$collection->get(1);
$collection->get(2);
但显然,它不起作用
我找到了一个使用shift的变通方法,它返回第一个元素并将其从集合中删除,
$el1 = $collection->shift();
$el2 = $collection->shift();
$el3 = $collection->shift();
但在这种情况下,我的原始收藏品已被销毁。
知道我应该怎么做吗?
答案 0 :(得分:3)
您可以将values()
用作:
$collection = $collection->values();
然后您可以将其用作:
$collection->get(0);
$collection->get(1);
$collection->get(2);
答案 1 :(得分:1)
你可以循环使用它们:
foreach ($collection as $element) {
// use $element
}
或者您可以重置要按顺序索引的键:
$collection = $collection->values();
$element1 = $collection->get(0);
$element2 = $collection->get(1);
$element3 = $collection->get(2);
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以通过多种方式访问价值观。例如,您可以通过以下方式获取密钥:
$keys = $collection->keys()
然后按所需的有序密钥调用:
if (isset($keys[0])) $collection->get($keys[0]);