andydune / array-walker
更好的 foreach 操作符实现,支持嵌套数组。
v1.0.0
2018-05-18 08:21 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5.7.15 || ^6.0.8
This package is auto-updated.
Last update: 2024-09-29 04:43:17 UTC
README
更好的 foreach 操作符实现,支持嵌套数组。
安装
使用 composer 安装
composer require andydune/array-walker
如果 composer 没有全局安装
php composer.phar require andydune/array-walker
或编辑你的 composer.json
"require" : {
"andydune/array-walker": "^1"
}
并执行命令
php composer.phar update
示例
use AndyDune\ArrayWalker\ArrayWalker; use AndyDune\ArrayWalker\ItemContainer; // Source array $array = [ 'one' => 1, 'two' => 2, 'three' => 3, ]; $arrayWalker = new ArrayWalker($array); // Change values $arrayWalker->addFunction(function (ItemContainer $item) { $item->setValue($item->getValue() + 10); }); $result = $arrayWalker->apply(); $result = [ 'one' => 11, 'two' => 12, 'three' => 13, ]; $arrayWalker = new ArrayWalker($array); // Change keys $arrayWalker->addFunction(function (ItemContainer $item) { $item->setKey(strtoupper($item->getKey())); }); $result = $arrayWalker->apply(); $result = [ 'ONE' => 1, 'TWO' => 2, 'THREE' => 3, ]; $arrayWalker = new ArrayWalker($array); // Delete value $arrayWalker = new ArrayWalker($array); $arrayWalker->addFunction(function (ItemContainer $item) { $item->setValue($item->getValue() + 10); if ($item->getKey() == 'one') { $item->delete(); } }); $result = $arrayWalker->apply(); $result = [ 'two' => 12, 'three' => 13, ];