好的,我想找出最好的方法来做到这一点。我的代码如下:
$context['dp_module_headers'] = array();
然后在while循环中的函数内向下遍历所有foldernames并将路径应用于此数组。但路径是相对于文件夹名称的,所以我需要在分解数组的值中包含文件夹名称。
$context['dp_module_headers'] += explode('+', $row[$type . '_header_files']);
这可以返回如下数组:
$context['dp_module_headers'][0] = 'source/script.js';
$context['dp_module_headers'][1] = 'source/script.css';
$context['dp_module_headers'][2] = 'source/script.js';
$context['dp_module_headers'][3] = 'mydir/style.css';
我需要在数组中的所有值之前预先挂起文件夹名称。我只能访问爆炸功能中的文件夹名称。因此,在另一个文件的其他功能中,我无权访问这些路径链接到的文件夹名称。
因此,在进行爆炸时,我需要在每个数组的值中的每个路径之前预先挂起文件夹名称。
所以,基本上,这个数组需要返回以下内容:
$context['dp_module_headers'][0] = 'sitenews/source/script.js';
$context['dp_module_headers'][1] = 'sitenews/source/script.css';
$context['dp_module_headers'][2] = 'userpanel/source/script.js';
$context['dp_module_headers'][3] = 'userpanel/mydir/style.css';
我有一个名为$folder
的变量,它会根据explode
进行更改,但是如何在爆炸时将$folder
名称字符串变量添加到每个值的开头?或者有更好的方法吗?
谢谢你们:)
答案 0 :(得分:3)
使用PHP 5.3+,您可以使用以下内容:
$context['dp_module_headers'] += array_map(
function ($path) use ($folder) { return $folder . $path; },
explode('+', $row[$type . '_header_files'])
);
使用5.2-会更加尴尬,你应该将爆炸路径保存在变量中,循环遍历该数组,将$folder
值添加到每个值,然后将结果添加到$context
数组。