php多维数组迭代迭代

时间:2017-02-17 12:43:23

标签: php

如果key存在且数组不是多维的,我想在数组之前插入额外的键,例如:

Array
(
    [0] => Array
        (
            [_key_] => Array
                (
                    [0] => Array
                        (
                            [pub-id-type] => pmid
                            [value] => 25588809
                        )

                    [1] => Array
                        (
                            [pub-id-type] => pmc
                            [value] => 4302133
                        )

                    [2] => Array
                        (
                            [pub-id-type] => publisher-id
                            [value] => 1008
                        )

                    [3] => Array
                        (
                            [pub-id-type] => doi
                            [value] => 10.1186/s12885-015-1008-4
                        )

                    [type_s] => article-id
                    [id] => 58a6eeedeab2f
                )

        )

我想:

Array
(
    [0] => Array
        (
            [_key_] => Array
                (
[0]=>array(
                    [0] => Array
                        (
                            [pub-id-type] => pmid
                            [value] => 25588809
                        )

                    [1] => Array
                        (
                            [pub-id-type] => pmc
                            [value] => 4302133
                        )

                    [2] => Array
                        (
                            [pub-id-type] => publisher-id
                            [value] => 1008
                        )

                    [3] => Array
                        (
                            [pub-id-type] => doi
                            [value] => 10.1186/s12885-015-1008-4
                        )

                    [type_s] => article-id
                    [id] => 58a6eeedeab2f
                )
        )
)

找到_Key_的递归函数depath。

1 个答案:

答案 0 :(得分:0)

布局不是最好的,但是更加强大......

试试这个:

if(is_array($arr[0][_key_]))
{
    $tmp = $arr[0][_key_];
    unset($arr[0][_key_]);
    $arr[0][_key_][] = $tmp;
}