【问题标题】:Laravel Collection keys modificationLaravel 集合键修改
【发布时间】:2017-03-26 21:50:07
【问题描述】:

我使用Collection 类中的filter 方法从集合中删除一些对象。但是在那次操作之后,有时会出现带有键的对象,例如。还剩 1、4、5 个。我希望在filter 操作之后始终拥有顺序为 0、1、2、3 等的元素。

有什么优雅的方法可以在不将表重写为新表的情况下做到这一点?

谢谢!

【问题讨论】:

  • 也许使用集合的values() 方法来重置键?
  • 谢谢!它有效。顺便说一句,做这种事情的方法的名字真的很奇怪......
  • 基本上是原生的PHParray_values()方法,大概解释了这个名字

标签: php arrays laravel


【解决方案1】:

您可以使用 Laravel Collection 的 values() 方法将集合的键按照这样的序列化顺序制作:

// Just for demonstration
$collection = collect([
    10 => ['fruit' => 'Apple', 'price' => 200],
    11 => ['fruit' => 'Mango', 'price' => 500]
]);

$values = $collection->values();

$values->all();

/* Result would be:
    [
        0 => ['fruit' => 'Apple', 'price' => 200],
        1 => ['fruit' => 'Mango', 'price' => 500],
    ]
*/

【讨论】:

  • +1 谢谢,最近在返回各种连接的集合数组时遇到了这个重置数组的问题。
  • 这正是我的 select2 参数数组所需要的。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-19
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
  • 2010-11-12
  • 2016-01-13
相关资源
最近更新 更多