jeurboy/object-field-selector

该包最新版本(0.1.3)的许可证信息不可用。

将大型和复杂对象或变量映射到更小对象的类

0.1.3 2018-10-01 05:47 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:42:04 UTC


README

Latest Stable Version Total Downloads Monthly Downloads Daily Downloads

描述

该库用于过滤复杂的数组/哈希表或对象,并返回您希望使用的实际字段。

如果您有一个包含不必要使用值的较大变量,该库将帮助过滤出所有未使用的字段,并在返回变量上保留您的字段。

该库可以遍历复杂数组或嵌套数组在任何级别的数组/哈希表或对象。

要更深入地了解如何使用此包,请遵循以下索引

安装

您可以通过 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 文件中看到所有测试用例。