做网站找谁好,福田企业网站推广公司,灞桥微网站建设,关键词免费网站Laravel Eloquent 通常返回一个集合作为结果#xff0c;集合包含很多有用的、功能强大的方法。
你可以很方便的对集合进行过滤、修改等操作。
本次教程就一起来看一看集合的常用方法及功能。 你可以使用助手函数 collect 将数组转化为集合。
$data collect([1, 2, 3]);
1…Laravel Eloquent 通常返回一个集合作为结果集合包含很多有用的、功能强大的方法。
你可以很方便的对集合进行过滤、修改等操作。
本次教程就一起来看一看集合的常用方法及功能。 你可以使用助手函数 collect 将数组转化为集合。
$data collect([1, 2, 3]);
1.增加
$data collect([1, 2, 3]);
$data-push(3);
//输出
array:4 [▼0 11 22 33 3
]$data-put(name,yuan);
//输出
array:4 [▼0 11 22 3name yuan
]2.修改
$data collect([1, 2, 3]);
$data-put(0, yuan);
//输出
array:3 [▼0 yuan1 22 3
]3.查询
#1.根据键值获取
$data collect([1, 2, 3]);
$res$data-get(1);
//输出 2#2.返回第一个元素
$data -shift();
//输出 1#3.给定值查询集合如果找到的话返回对应的键如果没找到则返回false
$res$data-search(3);
//输出 2#4.严格比较
$res$data-search(6,true);
//输出 false#5.转化为数组
$res$data-toArray();#6.转化为JSON
$res$data-toJson();4.删除
# 根据键值删除
$res $data-forget(1);# 从索引起切除一段后返回
# $collection-splice( 索引, [ 切片长度 ] );
# 注性质同 slice不同的地方在于 slice 不会更改原有集合
# $collection-splice( 索引, [ 切片长度 ], [ 切去的要替换成的元素数组 ] );
# 注传入含有新元素的数组作为第三个参数以取代集合中被移除的元素
$data collect([1, 2, 3]);
$data-splice(0, 1);
//输出
array:2 [▼0 21 3
]5.统计
#1.求个数
$collection-count();#2.求平均
$collection-avg();
$collection-avg(键名); // 多维#3.求和
$collection-sum();
$collection-sum(键名); // 多维#4.求最大值
$collection-max();
$collection-max(键名); // 多维#5.求最小值
$collection-min();
$collection-min(键名); // 多维6.筛选
#1.第一个元素
$collection-first();#2.最后一个元素
$collection-last();#3.条件查询
$user User::all();
$data collect($user);
$res $data-first(function ($key, $value) {return $key-id 9;
});
//输出 id9的数据#4.多维数组筛选返回元素
$collection-where( 键名, 键值, [ $strict true ] ); // 默认严格模式
$collection-whereLoose( 键名, 键值 ); // 宽松模式
$collection-whereIn( 键名, 键值数组, [ $strict true ] ); // 默认严格模式
$collection-whereInLoose( 键名, 键值数组 ); // 宽松模式
//例:$res $data-where(id, ,1);#5.获取唯一的元素
$collection-unique(); // 一维
$collection-unique( 键名 ); // 多维
$collection-unique( function( $item ){return 确定是否唯一的值;
} );7.排序
#1.所有底层数组
$collection-all();#2.键名重新生成
$collection-values();#3.返回新的随机排序的集合
$collection-shuffle();#4.返回新的倒序的集合
$collection-reverse();#5.返回从索引起的切片
$collection-slice( 索引, [ 切片长度 ] );
# 注释索引可以为负数长度不填默认至最后一个元素#6.一维集合排序
$collection-sort( [ function( $a, $b ){return -1 | 1 | 0 ;
} ] );
# 注不传回调函数则默认由小到大#7.多维集合排序
$collection-sortBy( 列名 ) // 以某列排序
$collection-sortBy( function( $item, $key ){return 参于排序的数;
} )
# 注排序从小到大依次为 undefined、字符或字符串、数字、数组对象
# 同为 undefined 先出现的在前
# 同为 字符或字符串 一个字符一个字符比较其 Ascii 码
# 同为 数组或对象 比较其元素个数#8.多维集合排序倒序性质同 sortBy
$collection-sortByDesc();#9.取指定数量的元素的集合
$collection-take( 数量 );
# 注数量为负数表示从末尾取8.判断
#1.是否为空
$collection-isEmpty();#2.是否含有指定值
$collection-contains( 键值 );
$collection-contains( 键名, 键值 ); // 多维
$collection-contains(function( $key, $value ){return 判断条件
});#3.是否含有指定的键
$collection-has( 键名 );9.合并
#1.集合元素拼接
$collection-implode( 拼接字符 ); // 一维
$collection-implode( 键名, 拼接字符 ); // 多维中的某列#2.按个数拆分成多维
$prices $collection-chunk(3);
$prices-toArray();
输出
[0 [0 18,1 23,2 65],1 [3 36,4 97,5 43],2 [6 81]
]#3.多维合并为一维
$collection-collapse();
# 注对于 item 不是数组的会被丢弃#4.合并键值对集合值作为键另一集合或数组作为对应值
$collection-combine( 值数组 );
# 注集合与另一集合或集合必须保持相同的元素个数
# 合并结果可能会由于集合有相同的值作为键值而个数减小
# 后出现的会覆盖前面出现的
collect([ 1, 2, 1 ])-combine([ a, b, c ]);
// [ 1 c, 2 b ]#5.索引合并
$collection-zip( 新数组 );
collect([ 1, 2 ])-zip([ a, b ]);
// [ [ 1, a ], [ 2, b ] ]10.遍历
#1.遍历
$collection-each(function ($value, $key) {...
});
注回调函数中返回 false 会终止遍历#2.遍历返回形成新的集合
$collection-map(function ($value, $key) {...return 元素的新值;例子$value[user_id] 1;return $value;
});#3.遍历修改*直接更改了原有集合*
$collection-transform(function ($value, $key) {...return 元素的新值;
});#4.遍历执行回调最后转为一维集合返回
$collection-flatMap(function( $value, $key ){return 新的元素;
});
# 注等价于 -map()-collapse();#5.集合与数组合并
$collection-union( 数组 );
# 注若集合与数组具有相同的键名集合的将会保留性质类同于 11.参考链接
https://www.cnblogs.com/Json159/p/9570903.html
https://learnku.com/laravel/t/27647