我正在创建一个搜索和替换文件中的字符串的symfony2应用程序
我创建了一个包含以下内容的yaml文件:
parameters:
file.search_and_replace:
"path/dir/filename":
replace: 'word'
with: 'anotherword'
"path_2/dir/filename_2":
replace: 'apples'
with: 'oranges'
现在要获取内容我使用以下语法:
$array = $this->getContainer()->getParameter('file.search_and_replace');
如果我像这样转储变量:
var_dump($array);
它返回
array(2)
{
'path/file/filename' =>
array(2)
{
'replace' => string(4) "word"
'with' => string(11) "anotherword"
}
'path_2/file/filename_2' =>
array(2)
{
'replace' => string(6) "apples"
'with' => string(7) "oranges"
}
}
我需要找到一种循环遍历此数组的方法 所以我可以将内容传递给我创建的函数,它需要以下参数:
searchAndReplace('filepath','replace_this_word','with_this_word');
类似的东西:
foreach($array as $file)
{
searchAndReplace($file.path,$file.replace,$file.with);
}
答案 0 :(得分:2)
你很亲密。
两件事:
foreach
可以接受key => value
语法。使用它你可以得到
路径。尝试以下方法:
foreach ($array as $path => $sub) {
searchAndReplace($path,$sub['replace'],$sub['with']);
}