dragk/array-class

轻量级的PHP包,用于处理数组,就像在JavaScript或C#中一样。以不可变优先。类似集合。

1.3.1 2018-10-02 14:39 UTC

This package is auto-updated.

Last update: 2024-09-06 09:54:52 UTC


README

轻量级的PHP包,用于处理数组,类似于JavaScript或C#中的数组对象(但更适合PHP),因此您可以例如链式调用方法。以不可变优先。类似集合。

项目构建时考虑到,这个库需要

  • 轻量级
  • 快速
  • 全面测试
  • 严格类型化以提高安全性
  • 有文档
  • 类似于JavaScript/C#数组对象

安装

使用以下命令安装最新版本:

$ composer require dragk/array-class

基本用法

<?php

use DragK\ArrayClass;

$array = new ArrayClass([1, 3, 2, 4]);
$result = $array
            ->sort()
            ->reverse()
            ->map(function($value){
                return $value**2;
            })
            ->filter(function($value) {
                return $value > 8 ;
            })
            ->reduce(function($result, $value) {
                return $result + $value;
            });

var_dump($result); // int(25)
echo $array[1]; // 3

请记住,您始终可以使用 function () use ($var1, $varN) 来向函数传递更多变量,例如。

$multiplier = 2;
$result = $array
            ->sort()
            ->reverse()
            ->map(function($value){
                return $value**2;
            })
            ->filter(function($value) {
                return $value > 8 ;
            })
            ->reduce(function($result, $value) use ($multiplier) {
                return ($result + $value) * $multiplier;
            });
echo $result; // 82

文档

关于

要求

  • PHP 7.0或更高版本

提交建议

错误、功能请求和代码风格/方法提示在GitHub上跟踪

许可证

ArrayClass遵循MIT许可证 - 有关详细信息,请参阅LICENSE文件

致谢

这个库灵感来源于JavaScript Array对象,尽管大多数概念都已调整以适应PHP世界。