定制 lablnet/arrays 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

lablnet/arrays

Composer 安装命令:

composer require lablnet/arrays

包简介

PHP array class to manipulate arrays in efficient ways to solve real world problems.

README 文档

README

Note This package is a part of ZEST Franewrk (https://github.com/zestframework/Zest_Framework/blob/master/src/Data/Arrays.php), may thanks to @peter

NO PR WILL BE ACCPETED HERE

A class to manipulate arrays in efficient ways to solve real world problems.

Requirement

  1. PHP 7.2 or grater.
  2. Composer.

Installation

Installing this package is very simple, first ensure you have the right PHP version and composer installed then in your terminal/(command prompt) run: composer require lablnet/arrays

Features

  1. Determine whether the given dataSet is really array?

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $arr = array(2, 2, 3, 4, 4, 4, 4, 8, 8, 6, 6, 9, 9, 9, 9); 
        var_dump(Arrays::isReallyArray($arr)); //True
        var_dump(Arrays::isReallyArray([]));   //False
  2. Determine the given array is (sequential)indexes.?

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $arr = array(2, 2, 3, 4, 4, 4, 4, 8, 8, 6, 6, 9, 9, 9, 9); 
        var_dump(Arrays::isSequential($arr)); //True
        var_dump(Arrays::isSequential(['a' => 1]));   //False
  3. Determine the given array is assoc.?

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $arr = array(2, 2, 3, 4, 4, 4, 4, 8, 8, 6, 6, 9, 9, 9, 9); 
        var_dump(Arrays::isAssoc($arr)); //False
        var_dump(Arrays::isAssoc(['a' => 1]));   //True
  4. Determine the given array is multi-dimensional.?

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $arr = array(2, 2, 3, 4, 4, 4, 4, 8, 8, 6, 6, 9, 9, 9, 9); 
        var_dump(Arrays::isMulti($arr)); //False
        var_dump(Arrays::isMulti(['a' => ['b' => 'c']]));   //True
  5. Get the type of array.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $arr = array(2, 2, 3, 4, 4, 4, 4, 8, 8, 6, 6, 9, 9, 9, 9); 
        var_dump(Arrays::getType($arr)); //indexes
        var_dump(Arrays::getType(['a' => ['b' => 'c']]));   //multi
  6. Add an element to an array using "operation" notation if it doesn't exist.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        var_dump(Arrays::add(['name' => 'desk', 'price' => null], 'price', 100)); // ['name' => 'desk', 'price' => 100]
  7. Set an array item to a given value using "operator" notation.

    • Example:
    • use Lablnet\Arrays;
      require '../vendor/autoload.php';
      $array = ['products' => ['desk' => ['price' => 100]]];
      Arrays::set($array, 'products.desk.price', 200, '.');
      // ['products' => ['desk' => ['price' => 200]]]
  8. Get an item from an array using "operator" notation(The Arrays::get method retrieves a value from a deeply nested array using "dot" notation:).

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['products' => ['desk' => ['price' => 100]]];
        $price = Arrays::get($array, 'products.desk.price', '.');
        // 100

The Arrays::get method also accepts a default value, which will be returned if the specific key is not found.

  1. Determine if an item or items exist in an array using 'Operator' notation.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['product' => ['name' => 'Desk', 'price' => 100]];
        $contains = Arrays::has($array, 'product.name', '.');
        // true
        $contains = Arrays::has($array, ['product.price', 'product.discount'], '.');
        // false
  2. Determine if an item or items exist in an array using 'Operator' notation.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['product' => ['name' => 'Desk', 'price' => 100]];
        $assoc = Arrays::multiToAssoc($array);
        // ['name' => 'Desk', 'price' => 100]
  3. Converted a multi-dimensional associative array with dot.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['products' => ['desk' => ['price' => 100]]];
        $dot= Arrays::dot($array);
        // ['products.desk.price' => 100]
  4. Converted a multi-dimensional associative array with operator.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['products' => ['desk' => ['price' => 100]]];
        $dot = Arrays::multiToAssocWithSpecificOpr($array);
        // ['products.desk.price' => 100]
  5. Push an item onto the beginning of an array.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['red', 'green', 'blue'];
        $prepend = Arrays::prepend($array, 'yellow');
        // ['yellow', 'red', 'green', 'blue'];
  6. Push an item to the end of array.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['red', 'green', 'blue'];
        $append = Arrays::append($array, 'yellow');
        // ['red', 'green', 'blue', 'yellow'];
  7. Get the unique elements from arrays.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['red', 'green', 'blue', 'red'];
        $unique = Arrays::append($array);
        // ['red', green', 'blue'];
  8. Get a subset of the items from the given array.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array =  [
            'users' => 
            [
                'id' => 1,
                'name' => "Alex",
                'username' => 'peter',
            ],
            [
                'id' => 2,
                'name' => "Peter Khot",
                'username' => 'peter',
            ],
            [
                'id' => 3,
                'name' => "John",
                'username' => 'test',
            ]
        ];
        $subSetOfArray = Arrays::subSetOfArray($array, 'name');
        // [];
  9. Remove one or many array items from a given array using "operator" notation.

    • Example:
    •   use Lablnet\Arrays;
        require '../vendor/autoload.php';
        $array = ['products' => ['desk' => ['price' => 100]]];
        Arrays::forget($array, 'products.desk');
        // ['products' => []]
  10. Get all of the given array except for a specified array of keys.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ['name' => 'Desk', 'price' => 100]
       $filtered = Arrays::except($array, ['price']);
       // ['name' => 'Desk']
  11. Get a value from the array, and remove it.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ['name' => 'Desk', 'price' => 100];
       $name = Arrays::pull($array, 'name');
       // $array: ['price' => 100]
  12. Changes the case of all keys in an array.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ['name' => 'Desk', 'price' => 100];
       $name = Arrays::arrayChangeCaseKey($array, CASE_UPPER);
       // ['NAME' => 'Desk', 'PRICE' => 100]
  13. Changes the case of all values in an array.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ['name' => 'Alex'];
       $name = Arrays::arrayChangeCaseValue($array, CASE_UPPER);
       // ['name' => 'ALEX']
  14. Remove duplicate values from array.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ````
       $name = Arrays::removeDuplicates($array);
       // $array: ['red', 'green', 'blue']
  15. Get the most occurring value from array.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ['red', 'blue', 'green', 'red', 'blue'];
       $name = Arrays::mostOccurring($array);
       // ['red', 'blue']
  16. Get the least occurring value from array.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ['red', 'blue', 'green', 'red', 'blue'];
       $name = Arrays::leastOccurring($array);
       // ['green']
  17. Convert the array into a query string.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = [
           'foo' => 'bar',
           'baz' => 'boom',
           'cow' => 'milk',
           'php' => 'hypertext processor'
       ];
       $name = Arrays::query($array);
       // foo=bar&baz=boom&cow=milk&php=hypertext+processor
  18. Filter the array using the given callback (THIS METION WILL NOT WORKS WITH MULTIDIMESSIONAL ARRAY.).

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = [100, '200', 300, '400', 500];
       $array = Arrays::where($array, function ($value, $key) {
           return is_string($value);
       });
       // [1 => '200', 3 => '400']
  19. Get one or a specified number of random values from an array.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = ['red', 'green', 'blue'];
       $name = Arrays::random($array);
       // ['blue'];
  20. Get multiple values of same keys from multi-dimessional array.

    • Example:
    •  use Lablnet\Arrays;
       require '../vendor/autoload.php';
       $array = [
           ['developer' => ['id' => 1, 'name' => 'Alex']],
           ['developer' => ['id' => 2, 'name' => 'Peter']],
       ];
       $name = Arrays::pluck($array, 'name');
       // ['Alex', 'Peter'];

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 3
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-05-22

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固