jeurboy / object-field-selector
该包最新版本(0.1.3)的许可证信息不可用。
将大型和复杂对象或变量映射到更小对象的类
0.1.3
2018-10-01 05:47 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: ~6.2.0
This package is not auto-updated.
Last update: 2024-09-29 05:42:04 UTC
README
描述
该库用于过滤复杂的数组/哈希表或对象,并返回您希望使用的实际字段。
如果您有一个包含不必要使用值的较大变量,该库将帮助过滤出所有未使用的字段,并在返回变量上保留您的字段。
该库可以遍历复杂数组或嵌套数组在任何级别的数组/哈希表或对象。
要更深入地了解如何使用此包,请遵循以下索引
安装
您可以通过 composer require
命令安装此包
composer require jeurboy/object-field-selector
或者简单地将它添加到您的 composer.json 依赖项中,并运行 composer update
"require": { "jeurboy/object-field-selector": "*" }
使用
对于简单使用,只需创建返回模式并发送到 DataParser;
$parser = new Jeurboy\SimpleObjectConverter\SchemaParser(); $parser->addSchema("test1"); $token = $parser->getParsedSchema(); $data = [ 'test1' => "11234", 'test2' => "22222" ]; $DataParser = new Jeurboy\SimpleObjectConverter\DataParser(); $return = $DataParser->getOutput($data, $token); print_r($return);
您将看到以下结果。
Array
(
[test1] => 11234
)
如果您有嵌套数组,请在模式中传递 .(点);
$parser = new Jeurboy\SimpleObjectConverter\SchemaParser(); $parser->addSchema("test1.eee"); $token = $parser->getParsedSchema(); $data = [ 'test1' => [ 'eee' => "hello holy", ] ]; $DataParser = new Jeurboy\SimpleObjectConverter\DataParser(); $return = $DataParser->getOutput($data, $token); print_r($return);
您将得到以下结果的数组。
Array
(
[test1] => Array
(
[eee] => hello holy
)
)
如果输入数组中有多个字段,请使用逗号(,)来定义更多字段。
$parser = new Jeurboy\SimpleObjectConverter\SchemaParser(); $parser->addSchema("test1"); $token = $parser->getParsedSchema(); $data = [ 'test1' => [ 'eee' => "hello holy", 'fff' => "hello holy", ] ]; $DataParser = new Jeurboy\SimpleObjectConverter\DataParser(); $return = $DataParser->getOutput($data, $token); print_r($return);
您将看到结果返回了多个字段。
Array
(
[test1] => Array
(
[eee] => hello holy
[fff] => hello holy
)
)
该库还支持序列数组中的对象。
$parser = new Jeurboy\SimpleObjectConverter\SchemaParser(); $parser->addSchema("test1.hello"); $token = $parser->getParsedSchema(); $data = [ 'test1' => [ [ "hello" => "world1", "ok" => "google1", ],[ "hello" => "world2", "ok" => "google2", ], ] ]; $DataParser = new Jeurboy\SimpleObjectConverter\DataParser(); $return = $DataParser->getOutput($data, $token); print_r($return);
结果是
Array
(
[test1] => Array
(
[0] => Array
(
[hello] => world1
)
[1] => Array
(
[hello] => world2
)
)
)
您可以在 example/example.php 文件中看到所有测试用例。