>  기사  >  백엔드 개발  >  PHP는 ob_start()를 사용하여 출력을 지우고 선택적 출력 코드 공유를 수행합니다.

PHP는 ob_start()를 사용하여 출력을 지우고 선택적 출력 코드 공유를 수행합니다.

php中世界最好的语言
php中世界最好的语言원래의
2018-05-19 14:43:55974검색

이번에는 ob_start()를 사용하여 출력 및 선택 출력을 지우는 PHP의 코드 공유를 공유하겠습니다. PHP가 ob_start()를 사용하여 출력 및 선택 출력을 지우는 데 있어 주의 사항은 무엇입니까? 살펴보자.

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

2.ob_start()

1. 개념:

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

내부 버퍼의 내용은

ob_get_contents

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

2. 버퍼의 기본 사용법

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

3. 기본 테스트 1.

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

설명: 가장 간단한 사용법입니다. 출력 콘텐츠 외부에 ob_start();를 추가한 다음 버퍼의 콘텐츠를 지워서 사용 시나리오를 구현하고 싶지는 않습니다. 출력하고 싶은 것을 선택적으로 출력할 수 있습니다. 출력하고 싶지 않은 것을 제거하십시오.

2,

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

결과: 12

3,

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

4,

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

설명: ob_get_content s() 여기서는 버퍼 영역 내용. 얻은 내용을 변수에 할당하면 버퍼가 지워지고 변수가 출력되더라도 정상적으로 1을 출력할 수 있습니다.

4. 일반적으로 사용되는 장소

이 기능은 페이지 정적화에 일반적으로 사용됩니다. 렌더링된 페이지는 입력 캐시를 통해 파일에 직접 기록됩니다. 이를 통해 사용자가 방문 중에 페이지를 다시 렌더링해야 하는지 여부를 확인할 수 있으며, 렌더링된 페이지를 저장하는 데 Nosql이 사용됩니다. 당신이 좋아하는 것에 따라 사람마다. 위는 제가 직접 한 간단한 테스트입니다. 필요한 경우 PHP 매뉴얼을 참조하여 추가 테스트를 수행할 수 있습니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

CI 프레임워크(CodeIgniter) 작업 Redis 단계 분석

php 이진수로 1의 개수 계산을 실현하는 알고리즘 단계에 대한 자세한 설명

위 내용은 PHP는 ob_start()를 사용하여 출력을 지우고 선택적 출력 코드 공유를 수행합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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