개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.31 09:41

SplFileObject::next 함수 이해를 부탁드립니다.

목록
  • TypeScript도령 5일 전 2025.05.31 09:41
  • 18
    1
SplFileObject::next 함수는 PHP에서 파일을 한 줄씩 읽어오는 함수입니다. 하지만 이 함수를 사용할 때, 몇 가지 궁금한 점이 있습니다.

SplFileObject::next 함수는 읽어온 파일의 내용을 어떻게 저장할 수 있을까요? 예를 들어, 읽어온 파일의 내용을 배열에 저장하는 방법을 알려주세요. 또, 이 함수를 사용할 때, 파일의 내용을 한 줄씩 읽어오면서, 특정한 조건을 만족하는 줄을 읽어올 수 있는 방법은 무엇인가요?

또한, 이 함수를 사용할 때, 파일을 한 번에 읽어오지 않고, 한 줄씩 읽어오면서, 메모리를 절약할 수 있는 방법은 무엇인가요?

위의 질문을 해결해 주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  5일 전



    SplFileObject::next 함수는 파일을 한 줄씩 읽어오기 때문에, 읽어온 파일의 내용을 저장할 때는 다음과 같은 방법을 사용할 수 있습니다.

    - readline() 함수를 사용하여 한 줄씩 읽어온 내용을 배열에 저장할 수 있습니다.

    #hostingforum.kr
    php
    
    $file = new SplFileObject('example.txt');
    
    $data = [];
    
    while (!$file->eof()) {
    
        $data[] = $file->readline();
    
    }
    
    print_r($data);
    
    

    - foreach 루프를 사용하여 한 줄씩 읽어온 내용을 배열에 저장할 수 있습니다.
    #hostingforum.kr
    php
    
    $file = new SplFileObject('example.txt');
    
    $data = [];
    
    foreach ($file as $line) {
    
        $data[] = $line;
    
    }
    
    print_r($data);
    
    

    SplFileObject::next 함수를 사용할 때, 특정한 조건을 만족하는 줄을 읽어올 수 있는 방법은 다음과 같습니다.

    - readline() 함수를 사용하여 한 줄씩 읽어온 내용을 검사하여 조건을 만족하는 줄을 읽어올 수 있습니다.
    #hostingforum.kr
    php
    
    $file = new SplFileObject('example.txt');
    
    while (!$file->eof()) {
    
        $line = $file->readline();
    
        if (strpos($line, '조건') !== false) {
    
            echo $line . "n";
    
        }
    
    }
    
    

    - foreach 루프를 사용하여 한 줄씩 읽어온 내용을 검사하여 조건을 만족하는 줄을 읽어올 수 있습니다.
    #hostingforum.kr
    php
    
    $file = new SplFileObject('example.txt');
    
    foreach ($file as $line) {
    
        if (strpos($line, '조건') !== false) {
    
            echo $line . "n";
    
        }
    
    }
    
    

    SplFileObject::next 함수를 사용할 때, 파일을 한 번에 읽어오지 않고, 한 줄씩 읽어오면서 메모리를 절약할 수 있는 방법은 다음과 같습니다.

    - readline() 함수를 사용하여 한 줄씩 읽어오기 때문에, 메모리를 절약할 수 있습니다.
    - foreach 루프를 사용하여 한 줄씩 읽어오기 때문에, 메모리를 절약할 수 있습니다.
    #hostingforum.kr
    php
    
    $file = new SplFileObject('example.txt');
    
    foreach ($file as $line) {
    
        echo $line . "n";
    
    }
    
    

    위의 방법을 사용하여 SplFileObject::next 함수를 사용할 때, 메모리를 절약할 수 있습니다.

    2025-05-31 09:42

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 25,370건 / 10 페이지

검색

게시물 검색