企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**如果是初学者,不用去追究源码,但是你需要知道tp为我们提供了哪些便利方法,这是关键** * * * * * | 名称 | | | --- | --- | | 路径 | thinkphp\library\think\Collection.php | | 类名 | Collection | 我们需要知道 如果是一个Collection类,我们如何使用它。 * * * * * #### 方法列表 | 方法|功能 | | --- | --- | | make |装载/生成/制作等等,怎么叫法都可以,就是生成一个新结果集合| | isEmpty | 是否为空 | | toArray | 是否为空 | | all | 返回变量 items 所有数据集 | | merge | 合并数组 | | diff | 比较数组,返回差集 | | flip | 交换数组中的键和值 | | intersect | 比较数组,返回交集 | | keys | 返回数组中所有的键名 | | pop | 删除数组的最后一个元素(出栈) | | reduce | 通过使用用户自定义函数,以字符串返回数组 | | reverse | 以相反的顺序返回数组 | | shift | 删除数组中首个元素,并返回被删除元素的值 | | chunk | 把一个数组分割为新的数组块. | | unshift |在数组开头插入一个元素 | | each | 给每个元素执行个回调 | | filter | 用回调函数过滤数组中的元素 | | column | 返回数组中指定的一列| | sort | 对数组排序 | | shuffle | 将数组打乱 | | slice | 截取数组 | | offsetExists | 检查给定的$offset键名或索引是否存在于$this->items数组中 | | offsetGet | 返回 $this->items数组中指定 $offset键名或索引 的数据或者对象 | | offsetSet | 数组 中增加一条新数据或者对象 | | offsetUnset |删除指定 $offset键名或索引 的数据或者对象 | | count | 返回 计算数组中的单元数目或对象中的属性个数 | | getIterator | 返回 创建外部迭代器 | | jsonSerialize | 返回序列化数组 | | toJson | 转换当前数据集为JSON字符串 | | __toString | 返回JSON 格式数据 | #### 源码阅读解析 这边有三篇博客文章可以参考 [第一篇](http://blog.csdn.net/fenglailea/article/details/52723586) [第二篇](http://12942149.blog.51cto.com/12932149/1932756) [第三篇](http://blog.csdn.net/lijingshan34/article/details/53167622) 其中第一篇写的特别好