laravel的Collections方法使用及介绍(翻译二)

这篇博客详细介绍了Laravel Collections的各种实用方法,包括flip、forget、forPage、get、groupBy、has、implode、intersect、intersectByKeys、isEmpty、isNotEmpty、join、keyBy、keys、last、macro、make、map、mapInto、mapSpread和mapToGroups等,帮助读者掌握如何高效操作和处理数据。
摘要由CSDN通过智能技术生成

flip()
flip方法交换collection的key和对应的value的值:

$collection = collect(['name' => 'taylor', 'framework' => 'laravel']);

$flipped = $collection->flip();

$flipped->all();

// ['taylor' => 'name', 'laravel' => 'framework']

forget()
forget方法将会移除key对应的值:

$collection = collect(['name' => 'taylor', 'framework' => 'laravel']);

$collection->forget('name');

$collection->all();

// ['framework' => 'laravel']

forPage()
forPage方法返回一个新的collection,它将包含当前的传入页的数字。这个方法一个参数时接收页的数字,第二个参数数字代表将要展现每一页将要显现的数字:

$collection = collect([1, 2, 3, 4, 5, 6, 7, 8, 9]);

$chunk = $collection->forPage(2, 3);

$chunk->all();

// [4, 5, 6]

get()
get方法返回key值对应的元素。假如key不存在时,则会返回null:

$collection = collect(['name' => 'taylor', 'framework' => 'laravel']);

$value = $collection->get('name');

// taylor

你可选第二个参数作为默认值作为:
$collection = collect([‘name’ => ‘taylor’, ‘framework’ => ‘laravel’]);

$value = $collection->get(‘age’, 34);

// 34
你可以调取回调函数作为默认值。假如指定的key不存在时则返回回调函数返回值:

$collection->get('email', function () {
   
    return 'taylor@example.com';
});

// taylor@example.com

groupBy()
groupBy方法通过传入的key对collection进行分组:

$collection = collect([
    ['account_id' => 'account-x10', 'product' => 'Chair'],
    ['account_id' => 'account-x10', 'product' => 'Bookcase'],
    ['account_id' => 'account-x11', 'product' => 'Desk'],
]);

$grouped = $collection->groupBy('account_id');

$grouped->all();

/*
    [
        'account-x10' => [
            ['account_id' => 'account-x10', 'product' => 'Chair'],
            ['account_id' => 'account-x10', 'product' => 'Bookcase'],
        ],
        'account-x11' => [
            ['account_id' => 'account-x11', 'product' => 'Desk'],
        ],
    ]
*/

你可以通过回调函数过滤替换key的字符串。这个回调函数会返回键值分组后的值:

$grouped = $collection->groupBy(function (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值