小言_互联网的博客

二十二、PHP框架Laravel学习笔记——集合的使用

180人阅读  评论(0)

一.创建集合

  1. 什么是集合?即:它是一种更具读取性和处理能力的数组封装;
  2. 比如,我们从数据库得到的数据列表,它就是一种集合;
  3. 数据集合,提供了大量的方法方便我们进行各种操作;
  4. 除了数据库对象返回的数据集合之外,我们还可以自行创建数据集合;
//创建一个数据集合 
$collection = collect(['张三', '李四', '王五', null]); 

//使用 dd 查看它的类型 
dd($collection); 

//直接 return 可以返回 
return $collection;

  1. 数据集合提供了大概有三十多个(31?)处理数据集合的方法,可链式调用;
  2. 这里我们把最常用的演示一遍,剩下的所有,可以自行参考手册方法列表;
//以底层数组形式输出 
return $collection->all(); 

//map 方法,类似访问器,可修改输出 
return $collection->map(function ($value, $key) {
    
	return $key.'['.$value.']';
 });


//支持链式,reject 移出非 true 的值 
return $collection->reject(function ($value, $key) {
    
	return $value === null; })->map(function ($value, $key) {
    	
		return $key.'['.$value.']'; 
	}); 

//filter 筛选为 true 的值,和 reject 相反 
return $collection->filter(function ($value, $key) {
    
	return $value === null; 
});



//search 找到后返回 key,找不到返回 false 
return $collection->search('王五'); 

//集合的分割 
return $collection->chunk(2); 

//迭代输出 
$collection->each(function ($item, $key) {
    echo $item; }); 



PS:这里就介绍这么多,更多的我们去手册扫一遍。做项目时,凭着记忆回头查,慢慢就熟了;

PS:下一节,我们会花一节课,把最常用的方法再运行一遍加深印象; 7. 如果三十多个方法都没有你要的,还可以自定义方法,比如说所有英文大写;

$collection = collect(['Mr.Zhang', '李四', '王五', null]); Collection::macro('toUpper', function () {
    
	//dd($this); 
	return $this->map(function ($value) {
    
		return strtoupper($value); 
	}); 
}); 
return $collection->toUpper();



转载:https://blog.csdn.net/weixin_44827418/article/details/116783012
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场