2012-03-03 6 views
0

文字列をテキストファイルから分割したい。テキストファイルから文字列を取得し、配列に分割する

.txtファイルが一部の場所から読み取られている場合。私はファイルを読み込み、配列内の文字列を取得したい。

テキストファイルには、次のデータ

aaa 1111111, 
    2hajakka, 
    87uj5687, 
    F2tryty 
bbb 45454545, 
    rereer, 
    87uj5687, 
    4343343, 
    944dsdds 

を持っている私は

$arr = array(
"aaa 1111111, 2hajakka, 87uj5687, F2tryty ", 
"bbb 45454545, rereer, 87uj5687, 4343343, 944dsdds"); 

ノートのような配列内の行保存したい:
データを持っているデータの(BBB、AAA)のように、名前として最初の行を開始しますカンマで区切られた。カンマが並んで、それはあなたが何をしようとして次の配列のフィールドに事前

+0

あなたは1-1 = 2(あなたの期待どおり)のように尋ねます!どうやって!!!!!そのポジション。 – K6t

答えて

0
$file_handle = fopen("myfile.txt", "r"); 
$arr[] = ""; 
$i = 0; 
$temp_string = ''; 

while (!feof($file_handle)) { 
$line = fgets($file_handle); 
if(strpos($line,",")!== false) 
{ 
$temp_string = $temp_string.$line;} 
else{ 
$temp_string = $temp_string.$line; 
$arr[$i] = $temp_string; 
$temp_string = ''; 
$i++;} 
} 
+0

ありがとうkaushtuv – satheesh

+0

いつでも。しかし、それは動作しましたか? – Kaushtuv

0

感謝を行くない場合は非常に簡単です:

  1. は、単一の行に複数行のレコードを折りたたみます

かなりの配列に行を分割:

<?php 
$string = 'aaa 1111111, 
    2hajakka, 
    87uj5687, 
    F2tryty 
bbb 45454545, 
    rereer, 
    87uj5687, 
    4343343, 
    944dsdds'; 

// move lines beginning with a space to the previous line 
$string = preg_replace('#\n +#', ' ', $string); 
// split lines into array 
$array = explode("\n", $string); 
var_dump($array); 
+0

u rodneyに感謝しますが、私はpreg_replaceをどのように使用するのですか? "1111 111,2ha ja kka、87 uj5 687、F 2try ty"のような空きスペースを与えると、別の疑問があります。 – satheesh

+0

これらのスペースはどのように振る舞いますか? – rodneyrehm

+0

このようなロッドニー、J1.A1 DUT.A1 DUT.A2 C1.1 C2.1、F2.1 F4.1 K1.1、F2.1 F4.1 K1.1、F2.1 F4.1 K1.1 – satheesh

関連する問題