【问题标题】:Instead an element in a Laravel Colletion each 3 elements取而代之的是 Laravel 集合中的一个元素,每 3 个元素
【发布时间】:2017-01-30 02:00:52
【问题描述】:

我有一个包含 4 个对象的集合:

Collection{#645 ▼
#items: array:4 [▼
0 => Team {#644 ▶}
1 => Team {#613 ▶}
2 => Team {#607 ▶}
3 => Team {#599 ▶}
   ]
}

我想每 3 插入一个元素,从 0 索引开始(在这种情况下,它将在 0 和 3 中)

我该怎么做???

push 方法不允许我在元素之间插入......

【问题讨论】:

    标签: laravel collections


    【解决方案1】:

    使用map() 助手。我已经对此进行了测试,并且效果很好:

    $counter = 0;
    $collection->map(function($i) use(&$counter) {
        if ($counter % 3 === 0) {
            $i->custom = 'Custom value';
        }
        $counter++;
        return $i;
    });
    

    【讨论】:

    • 这不会每 3 个元素插入一个对象,这将在现有对象中每 3 个元素插入一个自定义属性....我错了吗?
    • 是的,你被问到插入一个元素,我确定你在谈论属性。
    • 我以他们经典的方式做到了。明天贴出来
    猜你喜欢
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多