我有这个问题,我试图将一个数组中的值添加到另一个数组中,这些数据嵌套在原始数组的名称下。
例如,此脚本返回一个数组:
<?php
return array (
'HTTP' => array(
'GET' => array(
'/' => function() {
},
),
'POST' => array(
'/' => function($username, $password) {
},
)
),
'HTTPS' => array(
'GET' => array(
'/account/(:num)' => function($number) {
}
)
)
然后我有一个变量为:
的类private $routes = array(
'HTTP' => array(
'GET' => array(),
'POST' => array()
),
'HTTPS' => array(
'GET' => array(),
'POST' => array()
),
'FILTRERS' =>
'BEFORE' => array(),
'AFTER' => array()
);
我正在做的是使用glob
来读取所有文件,但我无法解决的问题是如何循环第一个scrsipt中的所有数组并将它们推送到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,或复制每个数组的代码
答案 0 :(得分:0)
假设第一个数组存储在$input
中,您可以使用它。我根据您的预期输出进行了硬编码'example'
。
foreach ($input as $protocol => $methods) {
foreach ($methods as $method => $routeArray) {
$routes[$protocol][$method]['example'] = $routeArray;
}
}