如何将键递归添加到数组

时间:2018-10-01 13:42:19

标签: php recursion

我有一个查询结果集,可以循环查询。根据结果​​集中的数据,我想将其添加到数组中,或者如果特定值包含ID,则再次循环,然后将其添加到当前位置。我想结束这样的事情。

Array
(
    [0] => Array
        (
            [title] => Array
                (
                    [0] => Array
                        (
                            [value] => Lorem ipsum
                        )
                )
            [uid] => Array
                (
                    [0] => Array
                        (
                            [uid] => Array
                                (
                                    [value] => 1
                                )

                            [field_name] => Array
                                (
                                    [value] => John Doe
                                )
                        )
                )
        )
)

我完成了结果,但是我一遍又一遍地循环,我希望它是递归的。所以我最终做了这样的事情。

foreach ($fields as $nr => $field){
    if ($field_type == 'entity_reference'){
        // Query again
        ... 
        foreach ($fields2 as $nr2 => $field2){
            if ($field_type2 == 'entity_reference'){
                // Query again
                ...
            } else {
                $return[$nr][$field][$nr2][$fieldl2] = $value2;
            }
        }
    } else {
        $return[$nr][$field][] = $value;
    }
}

如何使它递归,所以我不必循环很多次?

0 个答案:

没有答案