0

我有这个问题,我试图将一个数组中的值添加到另一个嵌套在原始数组名称下的数组中。

例如,此脚本返回一个数组:

<?php
return array (
'HTTP' => array(

    'GET' => array(

        '/' => function() {

        },

    ),

    'POST' => array(

        '/' => function($username, $password) {

        },

    )

),

'HTTPS' => array(

    'GET' => array(

        '/account/(:num)' => function($number) {

        }

    )
)

然后我有一个 var 的类:

private $routes = array(
    'HTTP' => array(
        'GET'  => array(),
        'POST' => array()
    ),
    'HTTPS' => array(
        'GET'  => array(),
        'POST' => array()
    ),
    'FILTRERS' =>
        'BEFORE' => array(),
        'AFTER' => array()
);

我正在做的是glob用来读取所有文件,但我无法解决的问题是如何遍历第一个脚本中的所有数组并将它们推送到 var 中。

var 将是:

 private $routes = array(
    'HTTP' => array(
        'GET'  => array(
             'example' => array(
                 '/' => function() {

                  },
             )
        ),
        'POST' => array(
             'example' => array(
                 '/account/(:num)' => function($number) {

                  },
             )
        )
    ),
    'HTTPS' => array(
        'GET'  => array(
             'example' => array(
                 '/' => function() {

                  },
             )
        ),
        'POST' => array()
    ),
    'FILTRERS' =>
        'BEFORE' => array(),
        'AFTER' => array()
);

我能想到的唯一原因是使用大约四个嵌套foreach的es,或者为每个数组集复制代码

4

1 回答 1

0

假设第一个数组存储在$input您可以使用它。我'example'根据您的预期输出进行了硬编码。

foreach ($input as $protocol => $methods) {
    foreach ($methods as $method => $routeArray) {
        $routes[$protocol][$method]['example'] = $routeArray;
    }
}
于 2012-06-06T05:20:09.330 回答