4

重複の可能性:
phpを使用してcsvファイルを読み込んで読み取ります

私は次の文字列を持っています:

Mr,Tom,Jones,Add1,Add2,"Add3,Add3 extra",Town,County,postcode,99999,888,777

私は文字列を次のような配列に入れようとしています:

Array
(
    [0] => Mr
    [1] => Tom
    [2] => Jones
    [3] => Add1
    [4] => Add2
    [5] => "Add3,Add3 extra"
    [6] => Town
    [7] => County
    [8] => Postcode
    [9] => 99999
    [10] => 888
    [11] => 777
)

文字列を「」で分解すると、配列項目5が2つの部分に分割されますが、これは避けようとしています。元のデータはCSVから取得されます。

最終的に、CSVをインポートし、正しいヘッダーに対してヘッダーとファイルコンテンツを使用してその場で新しいDBを作成しようとしています。

前もって感謝します。

4

4 に答える 4

6

fgetcsv() を試してください:

fgetcsv — ファイル ポインタから行を取得し、CSV フィールドを解析します

于 2012-08-10T15:04:19.460 に答える
2
$array = str_getcsv( 'Mr,Tom,Jones,Add1,Add2,"Add3,Add3 extra",Town,County,postcode,99999,888,777', ',', '"' );

これにより、必要なものを含む配列が得られます。

str_getcsv()

于 2012-08-10T15:11:07.260 に答える
0
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}
?>

fgetcsvから

于 2012-08-10T15:05:27.977 に答える
0

str_getcsv()を使用できます。

str_getcsv — CSV 文字列を解析して配列にする

于 2012-08-10T15:06:40.397 に答える