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
'programing' 카테고리의 다른 글
Mysql group_concat의 반복 키 및 1개의 쿼리에서 여러 열의 반복 횟수(Query Optimization) (0) | 2022.11.27 |
---|---|
Storybook이 Vue 프로젝트의 컴포넌트에 SVG를 로드하지 않음 (0) | 2022.11.27 |
조건부로 클래스 속성을 적용하는 React Js (0) | 2022.11.27 |
Python - 목록의 요소 수 (0) | 2022.11.27 |
re.search와 re.match의 차이점은 무엇입니까? (0) | 2022.11.27 |