0

したがって、次のような配列があるとします。

Array
(
[0] => Array
    (
        [Name] => Ron
        [Date] => 9/23/10
        [Title] => Boss
        [Activity] => Soccer
    )

[1] => Array
    (
        [Name] => Tim
        [Date] => 9/23/10
        [Title] => player
        [Activity] => Soccer
    )

[2] => Array
    (
        [Name] => Jim
        [Date] => 9/23/10
        [Title] => manager
        [Activity] => Soccer
    )

[3] => Array
    (
        [Name] => Lud
        [Date] => 9/23/10
        [Title] => employee
        [Activity] => Soccer
    )

[4] => Array
    (
        [Name] => Ron
        [Date] => 9/23/10
        [Title] => sub boss
        [Activity] => Soccer
    )

[5] => Array
    (
        [Name] => Lev
        [Date] => 9/23/10
        [Title] => mini boss
        [Activity] => Soccer
    )

[6] => Array
    (
        [Name] => Timpthy
        [Date] => 9/23/10
        [Title] => super boss
        [Activity] => Soccer
    )

[7] => Array
    (
        [Name] => Jimbo
        [Date] => 9/23/10
        [Title] => final battle
        [Activity] => Soccer
    )

[8] => Array
    (
        [Name] => El
        [Date] => 9/23/10
        [Title] => link
        [Activity] => Soccer
    )

)

しかし、大規模であり、各配列要素を調べて、次のような方法でデータをフォーマットしたかったのです。

Name|Date|||||Title||||||||||Activity|||||||||||||||
Name|Date|||||Title||||||||||Activity|||||||||||||||
Name|Date|||||Title||||||||||Activity|||||||||||||||
Name|Date|||||Title||||||||||Activity|||||||||||||||
Name|Date|||||Title||||||||||Activity|||||||||||||||

(基本的には CSV ですが、複数の異なる区切り文字があります)

次に、これらの文字列を .txt ファイルに書き込みたいのですが、それを行う最も効率的な方法は何でしょうか? 単純な foreach ループでうまくいくでしょうか?

また、一意の値の各セットを文字列に処理する方法を見つけるのに苦労しています。つまり、取得する方法を理解するのに苦労しています

[0] => Array
    (
        [Name] => Ron
        [Date] => 9/23/10
        [Title] => Boss
        [Activity] => Soccer
    )
[1] => Array
    (
        [Name] => Tim
        [Date] => 9/23/10
        [Title] => player
        [Activity] => Soccer
    )

出力する

Ron|9/23/10|||||Boss||||||||||Soccer|||||||||||||||
Tim|9/23/10|||||player||||||||||Soccer|||||||||||||||

これが私の最善の推測です:

$finalstring;
$tempstring;

foreach($Array as $key)
{
    $i = 0;
    foreach($Array as $value)
    {
        $i+= 1;
        if($i == 1)
        {           
            $tempstring  . $value. "|";
        }
        if($i == 2)
        {           
            $tempstring  . $value . "|||||";
        }
        if($i == 3)
        {           
            $tempstring  . $value . "||||||||||";
        }
        if($i == 4)
        {           
            $tempstring  . $value . "|||||||||||||||||";
        }

    }
    $finalstring . $tempstring . "/n";
}

$fh = fopen("text.txt", "w");
fwrite($fh, $finalstring);

これらの値セットのそれぞれを事前にフォーマットされた文字列としてフォーマットし、それらの文字列をファイルに効率的に書き込むことができる簡単な関数はありますか?

4

1 に答える 1

0

省スペースのソリューションまたは効率性をお探しですか? 2 番目のケースでは、単純に json (json_encode) を使用できます。

(最初のケースでは、単純なセパレータのみを使用します。空白文字を使用できます)。

于 2013-10-18T22:28:58.447 に答える