Php 如何将同一数组中的每个值添加到每个键上
我有这个数组,但我不知道如何分解它并将其构建到自身上 我已将我的数组编译为我认为最容易跟踪的:Php 如何将同一数组中的每个值添加到每个键上,php,arrays,class,Php,Arrays,Class,我有这个数组,但我不知道如何分解它并将其构建到自身上 我已将我的数组编译为我认为最容易跟踪的: Array ( [domain.com] => Array ( [dev] => Array ( [path] => /var/www/config/ [ini] => Array
Array
(
[domain.com] => Array
(
[dev] => Array
(
[path] => /var/www/config/
[ini] => Array
(
[0] => db
[1] => common
)
)
[theme] => Array
(
[path] => /var/ww/themes/
[ini] => theme
)
)
)
我要做的就是创建一个helper类来解析ini文件。因此,我已经通过几种方法构建了如上所述的阵列
我的最终目标是像这样解析ini文件($ini[$domain][$nick][path]。$ini[$domain][$nick][ini]。“.ini”,true)
其中,$nick要么是'dev'
要么是'theme'
,这对我来说只是一种区分路径和ini的方法
我曾尝试对每个键值对执行foreach
循环,但我的一个值包含一个数组这一事实让我感到困惑
foreach (self::$ini[$domain] as $k => $v) {
//if (self::$ini[$domina][$nick]['path'][$k] === self::$ini[$domain][$nick]['ini'][$k])
foreach (self::$ini[$domain][$k] as $i => $l) {
foreach ($l as $m => $n)
//if (!is_array($i)) {
// (strlen($i) - 1 === '/' ? $i : $i . '/');
echo $n;
//self::$built = parse_ini_file($i . $j, true);
//}
}
}
这看起来可能很混乱,但在我能够生成一个可靠的代码块之前,我并没有费心创建有意义的变量名。但是在我的尝试中,我通过$domain
数组执行了一个foreach
循环,从中提取每个$nick
,我想做另一个foreach
来分解它,得到path
和ini
key=>值,然后构建parse-ini文件函数。但正如我所说,我的ini
键中有一个保存了一个数组,因此我不确定如何循环使用该数组,同时仍然能够解析ini文件,并且不会覆盖holder变量$builded
任何帮助都将不胜感激 您必须首先阅读有关递归的内容。只要把这个词输入谷歌甚至维基百科,你就会明白了。或者只需查找array\u merge和array\u merge\u recursive at,这就是您需要的。但是首先要阅读递归,如果你打算进一步编写代码,你应该知道这些基本的东西。你对注释掉的代码中的
is\u array
有了正确的想法。在单个文件与多个文件的情况下,您希望最终结果如何?在第二种情况下,$build
是否应该包含一个输出数组?$build保存解析的ini数组,类似于$build=parse_ini_file(path.ini,true)
,其中路径连接到ini值。所以解析ini文件(/var/www/config/common.ini,true)
然后解析ini文件(/var/www/config/db.ini,true)
等等。