Laravel 获取集合的第一个、第二个、第三个元素

Laravel 获取集合的第一个、第二个、第三个元素,laravel,collections,Laravel,Collections,我有这样的收藏: 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); 但很明显,它不起作用

我有这样的收藏:

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();
但在这种情况下,我的原始收藏被销毁了

你知道我该怎么做吗?

你可以使用以下方法:

slice方法返回从给定索引开始的集合切片。如果要限制返回切片的大小,请将所需大小作为第二个参数传递


您可以在它们上面循环:

foreach($collection as$element){
//使用$element
}
或者,您可以重置要按顺序索引的键:

$collection=$collection->values();
$element1=$collection->get(0);
$element2=$collection->get(1);
$element3=$collection->get(2);
您可以将其用作:

然后您可以将其用作:

 $collection->get(0);
 $collection->get(1);
 $collection->get(2);

有很多方法可以访问这些值。例如,您可以通过调用以下命令获取密钥:

$keys=$collection->keys()

然后按所需的顺序键调用:


if(isset($key[0]))$collection->get($key[0])

@JuliatzindelToro,这个答案怎么会比Joseph Silber 2分钟前发布的代码完全相同的答案更好呢?@AlexeyMezenin我从一块数据中获得了我的列表,所以在那之后再切片就不太好了。价值观正是我所需要的。@JuliatzindelToro,我说的是约瑟夫·西尔伯的回答,不是我的。values()刚刚被编辑过。第一个答案在哪里foreach@JuliatzindelToro不,约瑟夫给了你两种方法。第二部分和阿米特的完全一样。点击“编辑X分钟前”链接,您将看到原始答案。
$collection = $collection->values();
 $collection->get(0);
 $collection->get(1);
 $collection->get(2);