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使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 烘干设备-热泵烘干机_广东雄贵能源设备有限公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 智成电子深圳tdk一级代理-提供TDK电容电感贴片蜂鸣器磁芯lambda电源代理经销,TDK代理商有哪些TDK一级代理商排名查询。-深圳tdk一级代理 | 水热合成反应釜-防爆高压消解罐-西安常仪仪器设备有限公司 | 飞飞影视_热门电影在线观看_影视大全 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 名律网-法律问题咨询-找律师-法律知识| 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 仿古瓦,仿古金属瓦,铝瓦,铜瓦,铝合金瓦-西安东申景观艺术工程有限公司 | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 造价工程师网,考试时间查询,报名入口信息-网站首页 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 塑胶跑道施工-硅pu篮球场施工-塑胶网球场建造-丙烯酸球场材料厂家-奥茵 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 万濠影像仪(万濠投影仪)百科-苏州林泽仪器| 临朐空调移机_空调维修「空调回收」临朐二手空调 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 二手电脑回收_二手打印机回收_二手复印机回_硒鼓墨盒回收-广州益美二手电脑回收公司 | 冷凝锅炉_燃气锅炉_工业燃气锅炉改造厂家-北京科诺锅炉 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 小型数控车床-数控车床厂家-双头数控车床 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 精密钢管,冷拔精密无缝钢管,精密钢管厂,精密钢管制造厂家,精密钢管生产厂家,山东精密钢管厂家 | 鄂泉泵业官网|(杭州、上海、全国畅销)大流量防汛排涝泵-LW立式排污泵 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 |