pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

php利用ob_start()清除輸出和選擇性輸出的方法

下面小編就為大家分享一篇php利用ob_start()清除輸出和選擇性輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、背景

有一段代碼,因為調用了封裝的方法,所以會有一些本來不需要的返回值。這些返回值該怎么處理才能讓它消失呢。有的人會說,清除變量不就好了嗎?但假如這個返回值無法清除,那又該怎么辦呢?

二、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();

三、基本的測試

1、


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

結果: 1

解釋:這是最簡單的用法,那就是給不想輸出內容的外面加上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_contents();是獲取緩沖區的內容。我們可以把獲取的內容賦值給一個變量,這樣,就算清除了緩沖區,我們輸出變量,還是可以正常的輸出1的。

四、常用的地方

該函數常用與頁面靜態化,構造微型web框架能起到很關鍵的作用,講渲染好的頁面通過輸入緩存的方式直接寫入到一個文件,這樣判斷該文件是否存在即可實現用戶本次訪問需不需要去重新渲染一個頁面,也可應用到大型項目中,用nosql去存儲渲染好的頁面,具體使用方法應人而異,看您喜歡哪種

上面就是我自己做的簡單測試。大家有需要的話,可以對照著php手冊,多做一些測試。

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要介紹了PHP實現的防止跨站和xss攻擊代碼,是一款來自阿里云的防注入腳本,可實現針對注入、XSS攻擊等的過濾功能,需要的朋友可以參考下
這篇文章主要介紹了php實現的AES加密類定義與用法,結合完整實例形式分析了基于php的AES加密類實現及使用方法,需要的朋友可以參考下
這篇文章主要介紹了php 判斷IP為有效IP地址的方法,需要的朋友可以參考下
這篇文章主要介紹了PHP設計模式之注冊樹模式,結合實例形式詳細分析了注冊樹模式的概念、原理、實現方法與相關注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了PHP微信開發之微信錄音臨時轉永久存儲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要為大家詳細介紹了PHP CURL與java http使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 升降机-高空作业车租赁-蜘蛛车-曲臂式伸缩臂剪叉式液压升降平台-脚手架-【普雷斯特公司厂家】 | 冷柜风机-冰柜电机-罩极电机-外转子风机-EC直流电机厂家-杭州金久电器有限公司 | 滚筒线,链板线,总装线,流水线-上海体能机电有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 开平机_纵剪机厂家_开平机生产厂家|诚信互赢-泰安瑞烨精工机械制造有限公司 | 杭州门窗厂家_阳光房_包阳台安装电话-杭州窗猫铝合金门窗 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 浇钢砖,流钢砖_厂家价低-淄博恒森耐火材料有限公司 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 中国玩具展_玩具展|幼教用品展|幼教展|幼教装备展 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 电位器_轻触开关_USB连接器_广东精密龙电子科技有限公司 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 | 油冷式_微型_TDY电动滚筒_外装_外置式电动滚筒厂家-淄博秉泓机械有限公司 | 同学聚会纪念册制作_毕业相册制作-成都顺时针宣传画册设计公司 | 太原装修公司_山西整装家装设计_太原室内装潢软装_肖邦家居 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 科普仪器菏泽市教育教学仪器总厂 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 厂房出租_厂房出售_产业园区招商_工业地产 - 中工招商网 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 嘉兴泰东园林景观工程有限公司_花箱护栏| 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 天然鹅卵石滤料厂家-锰砂滤料-石英砂滤料-巩义东枫净水 |