johnykvsky / arrayhelper
基于 KohanaPHP::Arr 的 ArrayHelper
0.2.0
2020-06-03 21:10 UTC
Requires
- php: ^7.2
Requires (Dev)
- fzaninotto/faker: ~1.9.1
- phpstan/extension-installer: ~1.0.3
- phpstan/phpstan: ~0.12.13
- phpunit/phpunit: ~8.5.2
- thecodingmachine/phpstan-strict-rules: ~0.12.0
This package is auto-updated.
Last update: 2024-09-15 03:34:28 UTC
README
ArrayHelper - 基于 KohanaPHP Arr 类。正确的合并,没有惊喜 - 请参阅示例用法。
安装
通过 Composer
$ composer require johnykvsky/arrayhelper
应能在 PHP 5.6 上正常工作,但我没有检查这一点。只需更改 composer.json 中的所需 PHP 版本,也许可以删除开发包。以及代码中的类型提示。
用法
use johnykvsky\Utils\ArrayHelper; $array = array('johny'=>array('age'=>30,'weight'=>70),'chris'=>array('height'=>170)); $array2 = array('hobby'=>array(array('music'=>'rock'))); $result = ArrayHelper::merge($array, $array2); //merge arrays $array3 = array('chris'=>array('weight'=>70)); $array1 = array('fragment' => 'x', 'attributes' => array('title' => 'X', 'class' => array('a', 'b'))); $array2 = array('fragment' => 'y', 'attributes' => array('title' => 'Y', 'class' => array('c', 'd'))); $result = ArrayHelper::merge($array1, $array2); //deep merge, fragment = y / attributes: title = Y / class = a,b,c,d $result = ArrayHelper::merge($array1, $array2, false); //non-deep, fragment = y / attributes title = Y / class = c,d //potential problem with array_merge_recursive: $incorrect = array_merge_recursive($array1, $array2); //result is array('fragment' => array('x', 'y'), 'attributes' => array('title' => array('X', 'Y'), 'class' => array('a', 'b', 'c', 'd'))). $array4 = ['foo' , 'arj','pak']; $array5 = ['foo' => 'tar', 'baz'=>'zip']; //combine - get all values from array5 into array4 $result = ArrayHelper::combine($array4, $array5); //result is ['foo','arj','pak','tar','zip'] $foo = ArrayHelper::firstValue($array5); // tar $baz = ArrayHelper::lastValue($array5); // zip $bar = ArrayHelper::flatten($array1); // ['x','X','a','b']
测试
$ composer test
代码检查
$ composer phpstan $ composer phpstan-max
安全
如果您发现任何安全相关的问题,请通过电子邮件 johnykvsky@protonmail.com 联系我们,而不是使用问题跟踪器。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅许可文件。