添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

laravel collection map vs transform

Laravel的Collection类中有两个常用的方法,即map和transform方法,它们在对集合中的每个元素进行处理的时候有所不同。

map方法会对集合中的每个元素都执行给定的回调函数,并返回一个包含所有回调返回值的新集合。原先的集合并不会被修改。

transform方法会对集合中的每个元素都执行给定的回调函数,并将元素替换为回调的结果。这意味着原先的集合会被修改,而且新集合并不会被返回。

例如,如果有一个集合$collection,其中包含一些数字,我们可以使用map方法将每个数字都平方,并返回一个新的集合:

$newCollection = $collection->map(function($item) {
    return $item * $item;

然而,如果我们想要直接在原集合中替换每个数字为其平方值,则应该使用transform:

$collection->transform(function($item) {
    return $item * $item;

因此,map和transform方法都可以用于迭代集合中的元素并对其进行转换。区别在于map返回一个新的集合,而transform直接修改原先的集合。根据具体需求,可以选择使用其中一个方法。

  •