programing

txt 파일의 각 행을 새 어레이 요소로 읽습니다.

luckcodes 2022. 11. 27. 21:02

txt 파일의 각 행을 새 어레이 요소로 읽습니다.

텍스트 파일의 모든 행을 배열로 읽고 각 행을 새 요소로 지정하려고 합니다.
아직까진 내 암호야

<?php
$file = fopen("members.txt", "r");
while (!feof($file)) {

$line_of_text = fgets($file);
$members = explode('\n', $line_of_text);
fclose($file);

?>

특별한 처리가 필요 없는 경우, 이것은 당신이 원하는 것을 할 수 있습니다.

$lines = file($filename, FILE_IGNORE_NEW_LINES);

가장 빠른 방법은 다음과 같습니다.

// Open the file
$fp = @fopen($filename, 'r'); 

// Add each line to an array
if ($fp) {
   $array = explode("\n", fread($fp, filesize($filename)));
}

여기서 $syslog는 파일의 경로와 이름입니다(예: ../syslog).txt를 클릭합니다.

텍스트 파일의 설정에 따라서는 \n비트를 가지고 놀아야 할 수도 있습니다.

이것만 사용해 주세요.

$array = explode("\n", file_get_contents('file.txt'));
$yourArray = file("pathToFile.txt", FILE_IGNORE_NEW_LINES);

FILE_IGNORE_NEW_LINES각 배열 요소의 끝에 새 줄을 추가하지 않음
를 사용할 수도 있습니다.FILE_SKIP_EMPTY_LINES빈 줄을 건너뛰다

여기를 참조해 주세요.

<?php
$file = fopen("members.txt", "r");
$members = array();

while (!feof($file)) {
   $members[] = fgets($file);
}

fclose($file);

var_dump($members);
?>

그것은 매우 간단합니다.

$lines = explode("\n", file_get_contents('foo.txt'));

file_get_contents()- 파일 전체를 문자열로 가져옵니다.

explode("\n")- 딜리미터로 문자열을 분할합니다."\n"- 새로운 회선의 ASCII-LF 이스케이프란?

그러나 파일에 UNIX-Line 엔딩이 있는지 확인하십시오.

한다면"\n"올바르게 동작하지 않습니다.다른 줄의 코드화를 실시해, 시험할 수 있습니다."\r\n","\r"또는"\025"

$lines = array();
while (($line = fgets($file)) !== false)
    array_push($lines, $line);

당연히 먼저 파일 핸들을 생성하여 저장해야 합니다.$file.

$file = __DIR__."/file1.txt";
$f = fopen($file, "r");
$array1 = array();

while ( $line = fgets($f, 1000) )
{
    $nl = mb_strtolower($line,'UTF-8');
    $array1[] = $nl;
}

print_r($array);

당신은 올바른 방향으로 가고 있었지만, 당신이 올린 코드에 문제가 있었습니다.우선 while loop에는 닫는 괄호가 없었습니다.둘째, $line_of_text는 루프에서 =를 .=로 변경하여 수정되는 모든 루프 반복으로 덮어씁니다.셋째, 실제 줄바꿈이 아닌 리터럴 문자 '\n'을 폭발시킵니다.PHP에서 작은 따옴표는 리터럴 문자를 나타내지만 큰 따옴표는 실제로 이스케이프된 문자와 변수를 해석합니다.

    <?php
        $file = fopen("members.txt", "r");
        $i = 0;
        while (!feof($file)) {
            $line_of_text .= fgets($file);
        }
        $members = explode("\n", $line_of_text);
        fclose($file);
        print_r($members);
    ?>
    $file = file("links.txt");
print_r($file);

이것은 txt 파일을 어레이로 받아들입니다.링크에 아무거나 써주세요.txt 파일 (1개의 요소에 1줄 사용)이후 이 페이지를 실행하면 어레이는 $file이 됩니다.

여기에서는 충분히 설명했지만, 여기에 기재되어 있는 어떤 것보다도 뛰어난 퍼포먼스가 필요한 경우에는, 다음의 어프로치를 사용할 수 있습니다.strtok.

$Names_Keys = [];
$Name = strtok(file_get_contents($file), "\n");
while ($Name !== false) {
    $Names_Keys[$Name] = 0;
    $Name = strtok("\n");
}

주의: 이 경우 파일은 다음 위치에 저장됩니다.\n줄 바꿈 문자(필요에 따라 업데이트할 수 있음) 및 단어/이름/줄을 값 대신 배열 키로 저장하므로 검색 테이블로 사용할 수 있습니다.isset(대신, 훨씬 더 빠른)in_array.

언급URL : https://stackoverflow.com/questions/6159683/read-each-line-of-txt-file-to-new-array-element