2014-07-23 3 views
4

두 번째, 세 번째, 네 번째 및 다섯 번째 값을 추출하기 위해 행으로 변환 할 수 있어야하는 텍스트 파일 here이 있습니다.PHP를 사용하여 텍스트 파일을 배열로 변환하십시오.

각 행의 처음 7 개 값은 탭으로 구분 된 다음 줄 바꿈이 있으며 마지막 세 값은 탭으로 구분됩니다.

중단되는 개행을 제거하여 각 행이 완전히 탭 구분되도록했습니다.

<?php 

$file="140724.txt"; 

$fopen = fopen($file, "r"); 

$fread = fread($fopen,filesize("$file")); 

fclose($fopen); 

$remove = "\n"; 

split = explode($remove, $fread); 

foreach ($split as $string) 
{ 
echo "$string<br><br>"; 
} 

?> 

this을 생성합니다.

어디서부터 진행해야할지 모르겠습니다. 나는 나 자신에게 PHP를 가르치고 있으며 여전히 그것에 대해 아주 새롭기 때문에 나는 어디서 시작했는지 알지 못한다. 필자의 본능은 이전 텍스트 파일을 새로운 텍스트 파일에 작성한 다음, 첫 번째 텍스트 파일과 유사한 다른 코드 블록을 작성하지만 이번에는 탭을 기반으로 폭발시킵니다.

도움 말?

+1

중복 가능성 ([PHP 및 fgetcsv 함수를 사용하여 CSV 파일의 배열을 만드는 방법] http://stackoverflow.com/questions/1269562/how-to-create-an-array-from -a-csv-file-using-php-and-the-fgetcsv-function) – feeela

+0

위의 두 링크가 모두 죽어서 질문이나 대답에 링크를 넣지 않아야하는 이유에 대한 고전적인 예입니다. – Craicerjack

답변

7

은 다음과 같이 이동 :

<?php 
    $file="140724.txt"; 

    $fopen = fopen($file, r); 

    $fread = fread($fopen,filesize($file)); 

    fclose($fopen); 

    $remove = "\n"; 

    $split = explode($remove, $fread); 

    $array[] = null; 
    $tab = "\t"; 

    foreach ($split as $string) 
    { 
     $row = explode($tab, $string); 
     array_push($array,$row); 
    } 
    echo "<pre>"; 
    print_r($array); 
    echo "</pre>"; 
?> 

이 결과는 가변 배열 될 것입니다 :

enter image description here

당신은 첫번째와 마지막을 정리해야합니다 요소.

+0

완벽합니다. 고맙습니다! – Malignus

1

탭으로 구분 된 구조화 된 데이터입니다. use fgetcsv()을 사용하여 해당 데이터를 배열로 읽을 수 있습니다. 예제는 PHP 문서를 참조하십시오.

당신은 하나에이 파일을 처리 할 수 ​​
+0

추가로 탭 구분 기호가 \ t이므로 fgetcsv의 세 번째 매개 변수 '\ t'를 넣습니다. – peterpeterson

+0

원래 파일에는 새 줄이 있지만 순전히 탭으로 구분 된 것은 아닙니다. 내 코드 블록의 출력에 fgetcsv()를 적용해야한다고 말하는가? – Malignus

+1

@Malignus 농담 해? PHP 문서를 열려고 시도 했습니까? OK, 다음 단계 - 그것을 읽으십시오. – feeela

0
<?php 
$myfile = fopen("test.txt", "r") or die("Unable to open file!"); 
// Output one line until end-of-file 
while(!feof($myfile)) { 
    $text[] = fgets($myfile); 
} 
fclose($myfile); 
print_r($text); 
?> 
+0

코드가하는 일에 대한 약간의 설명은 누구에게도 해를 끼치 지 않을 것입니다. – croxy

관련 문제