Laravel Collections:移位值*和*键?

Ala*_*orm 4 php collections laravel

laravel 集合方法(或 PHP 数组方法)是否有办法移出集合的第一个键/值对?

也就是说,如果我有下面的小程序

$collection = collect(['key1'=>'value1','key2'=>'value2']);        

var_dump(
    $collection->first()
);

var_dump(
    $collection->shift()
);
Run Code Online (Sandbox Code Playgroud)

我可以shift() value1关闭集合的开头,或者抓住它而不通过将其删除first()。我想要的是用一行代码来关闭或获取第一个值(即)的键的方法key1。我知道我可以做这样的事情

$result = (function($c){
    foreach($c as $key=>$value)
    {
        return $key;
    }
})($collection);
Run Code Online (Sandbox Code Playgroud)

但我希望/想知道 Laravel 是否有更优雅/紧凑的东西。

Axa*_*lix 10

抓住一个元素(拳头或最后一个):

第一

$collection->take(1);
Run Code Online (Sandbox Code Playgroud)

结果

=> Illuminate\Support\Collection {#926
     all: [
       "key1" => "value1",
     ],
   }
Run Code Online (Sandbox Code Playgroud)

最后一个

$collection->take(-1);
Run Code Online (Sandbox Code Playgroud)

结果

=> Illuminate\Support\Collection {#924
     all: [
       "key2" => "value2",
     ],
   }
Run Code Online (Sandbox Code Playgroud)

抓住第一把钥匙 I

$collection->take(1)->keys()->first();
Run Code Online (Sandbox Code Playgroud)

结果

"key1"
Run Code Online (Sandbox Code Playgroud)

抓住第一把钥匙 II

key($collection->take(1)->toArray());
Run Code Online (Sandbox Code Playgroud)

结果

"key1"
Run Code Online (Sandbox Code Playgroud)