Download the PHP package mucts/collections without Composer

On this page you can find all versions of the php package mucts/collections. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package collections

Build Status Code Intelligence Status Scrutinizer Code Quality Total Downloads Latest Stable Version License

Collection

Collection类提供一个便捷的操作数组的封装。

创建一个新的集合

一个集合可以使用collect()帮助函数基于一个数组被创建 或者直接通过MuCTS\Collections\Collection类实例化。

你还可以传递一个键值对到 contains 方法,这将会判断给定键值对是否存在于集合中:

最后,你还可以传递一个回调到 contains 方法来执行自己的真实测试:

如果你想要终止对数据项的迭代,可以从回调返回 false:

你可以通过从回调中返回 false 来停止对集合项的迭代:

如果没有提供回调,那么集合中所有等价于 false 的项都会被移除:

filter相对的方法是reject

first方法返回通过真理测试集合的第一个元素:

你还可以调用不带参数的first方法来获取集合的第一个元素,如果集合是空的,返回null

还可以调用带操作符的 firstWhere 方法:

还可以选择性传入深度参数:

在本例中,调用不提供深度的 flatten 方法也会对嵌套数组进行扁平化处理,返回结果是 ['iPhone 6S', 'Apple', 'Galaxy S7', 'Samsung']。提供深度允许你严格设置被扁平化的数组层级。

flip 方法将集合的键值做交换:

注:不同于大多数其他的集合方法,forget 不返回新的修改过的集合;它只修改所调用的集合。

你可以选择传递默认值作为第二个参数:

你甚至可以传递回调作为默认值,如果给定键不存在的话回调的结果将会返回:

除了传递字符串key,还可以传递一个回调,回调应该返回分组后的值:

多个分组条件可以以一个数组的方式传递,每个数组元素都会应用到多维数组中的对应层级:

如果集合包含简单的字符串或数值,只需要传递“粘合”字符串作为唯一参数到该方法:

intersectByKeys方法会从原生集合中移除任意没有在给定数组或集合中出现的键:

如果集合为空的话isEmpty方法返回true;否则返回false

你还可以传递自己的回调到该方法,该回调将会返回经过处理的键的值作为新的集合键:

还可以调用无参的 last 方法来获取集合的最后一个元素。如果集合为空。返回 null:

注:和大多数集合方法一样,map 返回新的集合实例;它并不修改所调用的实例。如果你想要改变原来的集合,使用 transform 方法。

如果给定数组的键是数字,数组的值将会附加到集合后面:

还可以传递一个 offset(偏移位置)作为第二个参数:

如果你想要把数据填充到左侧,需要指定一个负值长度,如果指定长度绝对值小于等于数组长度那么将不会做任何填充:

还可以指定你想要结果集合如何设置键:

如果存在重复键,最后一个匹配的元素将会插入集合:

你还可以传递第二个参数到该方法用于设置前置项的键:

4 - (retrieved randomly) 你可以传递一个整型数据到 random 函数来指定返回的数据数目,如果该整型数值大于1,将会返回一个集合:

在第一次迭代时 $carry 的值是null;不过,你可以通过传递第二个参数到 reduce 来指定其初始值:

此外,你还可以传递自己的回调来搜索通过真理测试的第一个数据项:

如果你想要限制返回切片的尺寸,将尺寸值作为第二个参数传递到该方法:

返回的切片有新的、数字化索引的键,如果你想要保持原有的键,可以使用 values 方法对它们进行重新索引。

如果你需要更加高级的排序,你可以使用自己的算法传递一个回调给 sort 方法。参考 PHP 官方文档关于 uasort 的说明,sort 方法底层正是调用了该方法。

注:要为嵌套集合和对象排序,查看 sortBy 和 sortByDesc 方法。

你还可以传递自己的回调来判断如何排序集合的值:

你可以传递参数来限制返回组块的大小:

此外,你可以传递第三个包含新的数据项的参数来替代从集合中移除的数据项:

如果集合包含嵌套数组或对象,应该传递一个键用于判断对哪些值进行求和运算:

此外,你还可以传递自己的回调来判断对哪些值进行求和:

你还可以传递负数的方式从集合末尾开始获取指定数目的数据项:

该方法在和工厂方法一起创建 Eloquent 模型时很有用:

注:toArray 还将所有嵌套对象转化为数组。如果你想要获取底层数组,使用 all 方法。

注意:不同于大多数其它集合方法,transform 修改集合本身,如果你想要创建一个新的集合,使用 map 方法。

处理嵌套数组或对象时,可以指定用于判断唯一的键:

你还可以指定自己的回调用于判断数据项唯一性:

unique 方法在检查数据项值的时候使用「宽松」比较,也就是说一个整型字符串和整型数值被看作是相等的,如果要「严格」比较可以使用 uniqueStrict 方法。

unless 相对的方法是 when

与 when 方法相对的是 unless。

检查数据项值时 where 方法使用「宽松」比较,也就是说整型字符串和整型数组是等价的。使用 whereStrict 方法使用「严格」比较进行过滤。

whereIn 方法在检查数据项值的时候使用「宽松」比较,要使用「严格」比较可以使用 whereInStrict 方法。

whereNotIn 方法在检查集合项值的时候使用「宽松」比较,也就是说整型字符串和整型数值被看作是相等的。要想进行严格过滤可以使用 whereNotInStrict 方法。


All versions of collections with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4
ext-json Version ^7.4
mucts/contracts Version ^1.0
mucts/macroable Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mucts/collections contains the following files

Loading the files please wait ....