我在数组中有目录,我的目标是在foreach(或等效)语句中获得文件夹名称和文件夹路径。
这是我到目前为止写的。
<?
$array = array("folder","path","here");
foreach ($array as $value){
echo "File Name: $value";
echo "File Path: ";
}
如你所见,我不知道如何得到路径。我想要的,是这样的。
File Name: folder
File Path: /folder
File Name: path
File Path: /folder/path
File Name: here
File Path: /folder/path/here
谁有什么建议?谢谢! 对于您的确切输出,您可以使用array_slice()
:
foreach ($array as $current_index => $value){
echo "File Name: $value";
echo "File Path: /" . implode( '/', array_slice( $array, 0, $current_index + 1));
}
这将输出:
File Name: folder
File Path: /folder
File Name: path
File Path: /folder/path
File Name: here
File Path: /folder/path/here
否则,对于完整路径,您可以使用implode()
:
echo implode( '/', $array);
在循环内构建路径:
<?
$array = array("folder","path","here");
$path = "";
foreach ($array as $value){
$path .= "/$value";
echo "File Name: $value";
echo "File Path: $path";
}
使用implode
函数组合数组中的元素:
implode( '/', $array )
见http://www.php.net/manual/en/function.implode.php