需要帮助遍历 yaml (php) 生成的数组
need help iterating through array generated by yaml (php)
我正在创建一个 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);
它returns
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);
}
你很接近。
两件事:
foreach
可以接受 key => value
语法。使用这个你可以得到
路径.
- PHP 不对数组使用 点符号 。它用
括号。
尝试以下操作:
foreach ($array as $path => $sub) {
searchAndReplace($path,$sub['replace'],$sub['with']);
}
我正在创建一个 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);
它returns
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);
}
你很接近。
两件事:
foreach
可以接受key => value
语法。使用这个你可以得到 路径.- PHP 不对数组使用 点符号 。它用 括号。
尝试以下操作:
foreach ($array as $path => $sub) {
searchAndReplace($path,$sub['replace'],$sub['with']);
}