perimeter/array-transformer
Composer 安装命令:
composer require perimeter/array-transformer
包简介
Array Transformer
关键字:
README 文档
README
Simple class for transforming a PHP array a myriad of ways
Installation
Use composer like everyone else
$ composer require perimeter/array-transformer:dev-develop
Usage
Create an array transformer with your data:
$data = [ 'one' => 'foo', 'two' => [ 'bar', 'baz' ] ]; $transformer = new Perimeter\ArrayTransformer\ArrayTransformer($data);
Now, there is no end to the fun you can have!
Rename
// $data = [ 'A' => 'foo' ] $transformer->rename('A', 'RENAMED'); // [ 'RENAMED' => 'foo' ] // $data = [ 'A' => [ 'bar', 'baz' ] ] $transformer->rename('A/0', 'RENAMED'); // [ 'A' => [ 1 => 'baz' ], 'RENAMED' => 'bar' ] // $data = [ 'A' => [[ 'B' => 1 ], [ 'B' => 2 ]] ] $transformer->rename('A/?/B', 'A/?/C'); // [ 'A' => [[ 'C' => 1 ], [ 'C' => '2' ]] ]
Remove
// $data = [ 'A' => 'foo', 'B' => 'bar' ] $transformer->remove('A'); // [ 'B' => 'bar' ] // $data = [ 'A' => [ 'bar', 'baz' ] ] $transformer->remove('A/?:equals("bar")'); // [ 'A' => [ 'baz' ] ] // $data = [ 'A' => [ 'B' => 1 ], 'C' => '2' ] $transformer->remove('A:has(B=2)'); // [ 'C' => '2' ]
Replace
// $data = [ 'A' => 1 ] $transformer->replace('A', [1=>2]); // [ 'A' => 2 ] // $data = [ 'A' => 'abca' ] $transformer->replace('A', ['a'=>'xxx']); // [ 'A' => [ 'xxxbcxxx' ] ]
Translate
// $data = [ [ 'A' => 1 ], [ 'A' => 2 ], [ 'A' => 3 ] ] $transformer->translate('A/?', [ 1 => 'one', 2 => 'two', 3 = >'three' ]); // [ [ 'A' => 'one' ], [ 'A' => 'two' ], [ 'A' => 'three' ] ]
Reorder
// $data = [ 'A' => true, 'B' => false ] $transformer->reorder('A', 'after', 'B'); // [ 'B' => false, 'A' => true ] // $data = [ 'A' => true, 'B' => false ] $transformer->reorder('B', 'before', 'A'); // [ 'B' => false, 'A' => true ] // $data = [ 'A' => true, 'B' => false, 'C' => true ] $transformer->reorder('C', 'first'); // [ 'C' => true, 'A' => true, 'B' => false ] // $data = [ 'A' => true, 'B' => false, 'C' => true ] $transformer->reorder('A', 'last'); // [ 'B' => false, 'C' => true, 'A' => true ]
Modify
// $data = [ 'A' => 'tEst', 'B' => 'UPPERCASE' ] $transformer->modify('B', 'strtolower'); // [ 'A' => 'tEst', 'B' => 'uppercase' ] // $data = [ 'A' => 'boat', 'B' => [ 'car', 'track' ] ] $transformer->modify('B', function ($var) { return 'race'.$var; }); // [ 'A' => 'boat', 'B' => [ 'racecar', 'racetrack' ] ]
Syntax
This class uses the concept of a "path" to index into multi-dimentional arrays.
The wild-card ? is used to iterate over the entire subarray.
Examples:
A --> $array['A']
A/B --> $array['A']['B']
A/?/B --> foreach($array['A'] as $k => $v) $array['A'][$k]['B']
perimeter/array-transformer 适用场景与选型建议
perimeter/array-transformer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.15k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2015 年 03 月 31 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「util」 「array」 「utility」 「perimeter」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 perimeter/array-transformer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 perimeter/array-transformer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 perimeter/array-transformer 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A set of useful PHP classes.
Camilo3rd's PHP Utils Library
Collection of exception class and utilities
PHP-ClamAV library - to scan the file for viruses
Collection of methods that I or you usually use.
A collection of enhancements and utilities for the Silverstripe UserForms module
统计信息
- 总下载量: 1.15k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 19
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-03-31