>백엔드 개발 >PHP 문제 >PHP에서 에코를 지우는 방법

PHP에서 에코를 지우는 방법

藏色散人
藏色散人원래의
2021-03-02 10:04:303513검색

PHP에서 에코를 지우는 방법: 먼저 PHP 샘플 파일을 만든 다음 "ob_start();" 메서드를 통해 버퍼를 열고 마지막으로 "ob_clean();"을 통해 버퍼를 지웁니다. 방법.

PHP에서 에코를 지우는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, Dell G3 컴퓨터.

php에서는 ob_start()를 사용하여 출력을 지우고 선택적으로 출력합니다

1. 배경

캡슐화된 메서드를 호출하기 때문에 불필요한 반환 값이 일부 포함된 코드가 있습니다. 이러한 반환 값을 처리하여 사라지게 만드는 방법. 어떤 사람들은 변수를 지우는 것이 더 낫지 않을까라고 말할 것입니다. 하지만 이 반환 값을 지울 수 없다면 어떻게 될까요?

2.ob_start()

1. 개념:

이 함수는 출력 버퍼를 엽니다. 출력 버퍼링이 활성화되면 스크립트는 콘텐츠(http 헤더 제외)를 출력하지 않고 대신 출력할 콘텐츠를 내부 버퍼에 저장합니다.

내부 버퍼의 내용은 ob_get_contents() 함수를 사용하여 문자열 변수에 복사할 수 있습니다. 내부 버퍼에 저장된 내용을 출력하려면 ob_end_flush() 함수를 사용하세요. 또한, ob_end_clean() 함수를 사용하면 버퍼의 내용이 자동으로 삭제됩니다.

PHP 매뉴얼에서: http://php.net/manual/zh/function.ob-start.php

2. 버퍼의 기본 사용법

//打开缓冲区
ob_start();
//清除缓冲区中的内容
ob_clean();
//冲刷出(送出)输出缓冲区内容并关闭缓冲
ob_end_flush();

[추천 학습: "PHP 비디오 튜토리얼"]

3. 기본 테스트

1,

      echo '1';
      ob_start();
      echo '2';
      ob_clean();

결과: 1

설명: 가장 간단한 사용법입니다. 즉, 콘텐츠를 출력하지 않으려는 외부에 ob_start()를 추가한 다음, buffer 를 사용하여 사용 시나리오를 실현합니다. 출력하고 싶은 것을 선택적으로 출력할 수 있습니다. 출력하고 싶지 않은 것을 제거하십시오.

2,

     echo '1';
    ob_start();
    echo '2';
    //输出缓冲区
    ob_end_flush();

Result: 12

3,

    //打开缓冲区
     ob_start();
    echo '1';
    //清除缓冲区,此时不会输出1
    ob_clean();
    //输出缓冲区。但是因为上面已经清除过缓冲区了,所以不会输出 1
    ob_end_flush();
    echo '2';

Result: 2

4,

     ob_start();   //打开缓冲区
    echo '1';    
    $a = ob_get_contents();  //输出缓冲区内容到$a,相当于赋值给$a
    ob_clean();            //这里清除缓冲区内容
    echo '2';              //输出2
    echo $a;               //输出$a

Result: 2 1

Explanation: ob_get_contents(); 얻은 내용을 변수에 할당하면 버퍼가 지워지고 변수가 출력되더라도 정상적으로 1을 출력할 수 있습니다.

4. 일반적으로 사용되는 위치

이 기능은 페이지 정적화에 일반적으로 사용됩니다. 마이크로 웹 프레임워크를 구성하는 데 중요한 역할을 합니다. 렌더링된 페이지는 입력 캐시를 통해 파일에 직접 기록됩니다. 사용자가 방문 중에 페이지를 다시 렌더링해야 하는지 여부를 판단할 수 있으며, 대규모 프로젝트에도 적용할 수 있습니다. 렌더링된 페이지를 저장하는 데는 Nosql이 사용됩니다. 사람은 누구를 좋아하느냐에 따라

위는 제가 직접 해본 간단한 테스트입니다. 필요한 경우 PHP 매뉴얼을 참조하여 추가 테스트를 수행할 수 있습니다.

위 내용은 PHP에서 에코를 지우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.