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);