smoren/array-mapper
最新稳定版本:v0.1.4
Composer 安装命令:
composer require smoren/array-mapper
包简介
Helper for mapping arrays
README 文档
README
Helper for mapping arrays
How to install to your project
composer require smoren/array-mapper
Unit testing
composer install
./vendor/bin/codecept build
./vendor/bin/codecept run unit tests/unit
Usage
use Smoren\ArrayMapper\ArrayMapper; $source = [ [ 'id' => 1, 'country' => 'Russia', 'city' => 'Moscow', ], [ 'id' => 2, 'country' => 'Russia', 'city' => 'Moscow', ], [ 'id' => 3, 'country' => 'Russia', 'city' => 'Tomsk', ], [ 'id' => 4, 'country' => 'Belarus', 'city' => 'Minsk', ], [ 'id' => 5, 'country' => 'Belarus', ], ]; $result = ArrayMapper::map($source, ['country', 'city'], true, true); print_r($result); /* Array ( [Russia] => Array ( [Moscow] => Array ( [0] => Array ( [id] => 1 [country] => Russia [city] => Moscow ) [1] => Array ( [id] => 2 [country] => Russia [city] => Moscow ) ) [Tomsk] => Array ( [0] => Array ( [id] => 3 [country] => Russia [city] => Tomsk ) ) ) [Belarus] => Array ( [Minsk] => Array ( [0] => Array ( [id] => 4 [country] => Belarus [city] => Minsk ) ) ) ) */ $result = ArrayMapper::map($source, ['country', 'city'], true, true, function($item) { return $item['id']; }); print_r($result); /* Array ( [Russia] => Array ( [Moscow] => Array ( [0] => 1 [1] => 2 ) [Tomsk] => Array ( [0] => 3 ) ) [Belarus] => Array ( [Minsk] => Array ( [0] => 4 ) ) ) */ $source = [ [ 'id' => 1, 'country' => 'Russia', 'city' => 'Moscow', ], [ 'id' => 2, 'country' => 'Russia', 'city' => 'Moscow', ], [ 'id' => 3, 'country' => 'Russia', 'city' => 'Tomsk', ], [ 'id' => 4, 'country' => 'Belarus', 'city' => 'Minsk', ], ]; $mapFields = [ 'country', function($item) { return $item['city'].'-'.$item['id']; } ]; $result = ArrayMapper::map($source, $mapFields, false, true, function($item) { return $item['id']; }); /* Array ( [Russia] => Array ( [Moscow-1] => 1 [Moscow-2] => 2 [Tomsk-3] => 3 ) [Belarus] => Array ( [Minsk-4] => 4 ) ) */
统计信息
- 总下载量: 15
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-07-22