-1

配列にディレクトリがあり、フォルダー名とフォルダーのパスの両方を 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

誰にも提案はありますか?ありがとう!

4

3 に答える 3

5

正確な出力については、次を使用できます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);
于 2013-03-07T21:24:16.957 に答える
0

ループ内でパスを構築します。

<?
$array = array("folder","path","here");
$path = "";
foreach ($array as $value){
    $path .= "/$value";
    echo "File Name: $value";
    echo "File Path: $path";
}
于 2013-03-07T21:30:04.263 に答える
0

関数を使用してimplode、配列の要素を結合します。

implode( '/', $array )

http://www.php.net/manual/en/function.implode.phpを参照してください。

于 2013-03-07T21:24:24.500 に答える