小编Gab*_*bor的帖子

PHP RecursiveArrayIterator 类递归获取键值对

我试图用 PHP 的工厂类编写一个自定义数组迭代器。我的问题:我需要所有数组的所有数据,例如,这是一个简单的 PHP 数组:

Array
(
    [authentication] => Array
        (
            [basic] => Array
                (
                    [username] => guest
                    [password] => guest
                )

            [filters] => Array
                (
                    [price] => 100
                    [owener] => me
                )

        )

)
Run Code Online (Sandbox Code Playgroud)

我在 PHP 的文档页面上看到,我可以使用两个简单的类并使用简单的 foreach 进行迭代:

    $iterator = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($this->phpArray));
    foreach($iterator as $key => $value) {
        $d = $iterator->getDepth();
        echo "depth: $d $key => $value\n";
    }
Run Code Online (Sandbox Code Playgroud)

该程序抛出以下输出:

depth: 2 key: username, value: guest
depth: 2 key: password, value: guest
depth: 2 key: price, value: 100 …
Run Code Online (Sandbox Code Playgroud)

php arrays iterator

3
推荐指数
1
解决办法
2639
查看次数

标签 统计

arrays ×1

iterator ×1

php ×1