七個(gè)很有意思的PHP函數(shù)
PHP有許多內(nèi)置函數(shù),其中大多數(shù)函數(shù)都被程序員廣泛使用。但也有一些函數(shù)隱藏在角落,本文將向大家介紹7個(gè)鮮為人知,但用處非常大的函數(shù)。 沒(méi)用過(guò)的程序員不妨過(guò)來(lái)看看。
1.highlight_string()
當(dāng)需要在一個(gè)網(wǎng)站中展示PHP代碼時(shí),highlight_string()函數(shù)就變的非常有用了。該函數(shù)通過(guò)使用PHP語(yǔ)法高亮程序中定義的顏色,輸出或返回給定的PHP代碼的語(yǔ)法高亮版本。
示例:
highlight_string('<?php phpinfo(); ?>');
?>
2.str_word_count()
該函數(shù)必須要傳遞一個(gè)參數(shù),根據(jù)參數(shù)類型返回單詞的個(gè)數(shù)。如下面的所示:
$str = "How many words do I have?";
echo str_word_count($str); //Outputs 6
?>
3.levenshtein()
該函數(shù)主要返回兩個(gè)字符串之間的Levenshtein距離。Levenshtein 距離,又稱編輯距離,指的是兩個(gè)字符串之間,由一個(gè)轉(zhuǎn)換成另一個(gè)所需的最少編輯操作次數(shù)。許可的編輯操作包括將一個(gè)字符替換成另一個(gè)字符,插入一個(gè)字符,刪除一個(gè)字符。該函數(shù)對(duì)查找用戶所提交的錯(cuò)別字非常有用。
示例:
$str1 = "carrot";
$str2 = "carrrott";
echo levenshtein($str1, $str2); //Outputs 2
?>
4.get_defined_vars()
該函數(shù)返回一個(gè)包含所有已定義變量列表的多維數(shù)組,這些變量包括環(huán)境變量、服務(wù)器變量和用戶定義的變量。
示例:
5.escapeshellcmd()
該函數(shù)用來(lái)避開(kāi)字符串中的特殊符號(hào),可以防止使用者?;ㄕ衼?lái)破解服務(wù)器系統(tǒng)??梢杂帽竞瘮?shù)搭配exec() 或是system() 二個(gè)函數(shù),這樣可以減少網(wǎng)上使用者的惡意破壞行為。
示例:
$command = './configure '.$_POST['configure_options'];
$escaped_command = escapeshellcmd($command);
system($escaped_command);
?>
6.checkdate()
本函數(shù)可以用來(lái)檢查日期是否有效,例如年為0至32767年、月為1至12月、日則隨著月份及閏年變化。
示例:
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
//Output
//bool(true)
//bool(false)
?>
7.php_strip_whitespace()
該函數(shù)可以返回已刪除PHP注釋以及空白字符的源代碼文件,這對(duì)實(shí)際代碼數(shù)量和注釋數(shù)量的對(duì)比很有用。
示例:
// PHP comment here
/*
* Another PHP comment
*/
echo php_strip_whitespace(__FILE__);
// Newlines are considered whitespace, and are removed too:
do_nothing();
//動(dòng)手試試輸出的結(jié)果
echo php_strip_whitespace(__FILE__); do_nothing();
?>
相關(guān)文章
完美實(shí)現(xiàn)js選項(xiàng)卡切換效果(一)
這篇文章主要為大家詳細(xì)介紹如何完美實(shí)現(xiàn)js選項(xiàng)卡切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
逐行分析鴻蒙系統(tǒng)的 JavaScript 框架(推薦)
鴻蒙系統(tǒng)使用 JavaScript 開(kāi)發(fā) GUI 是一種類似于微信小程序、輕應(yīng)用的模式。這篇文章給大家?guī)?lái)了逐行分析鴻蒙系統(tǒng)的 JavaScript 框架的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2020-09-09
ES6知識(shí)點(diǎn)整理之對(duì)象解構(gòu)賦值應(yīng)用示例
這篇文章主要介紹了ES6知識(shí)點(diǎn)整理之對(duì)象解構(gòu)賦值應(yīng)用,結(jié)合實(shí)例形式分析了ES6對(duì)象解構(gòu)賦值相關(guān)概念、原理、出現(xiàn)的問(wèn)題及相應(yīng)解決方法,需要的朋友可以參考下2019-04-04
js實(shí)現(xiàn)適合新聞?lì)悎D片的輪播效果
本文主要分享了js實(shí)現(xiàn)適合新聞?lì)悎D片輪播效果的示例代碼,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
echarts使用中關(guān)于y坐標(biāo)軸無(wú)法正常顯示的問(wèn)題解決記錄
Echarts是由百度提供的數(shù)據(jù)可視化解決方案,下面這篇文章主要給大家介紹了關(guān)于echarts使用中關(guān)于y坐標(biāo)軸無(wú)法正常顯示的問(wèn)題解決記錄,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
JavaScript動(dòng)態(tài)加載樣式表的方法
這篇文章主要介紹了JavaScript動(dòng)態(tài)加載樣式表的方法,涉及javascript操作樣式表的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03
微信小程序后端實(shí)現(xiàn)授權(quán)登錄
這篇文章主要介紹了微信小程序后端實(shí)現(xiàn)授權(quán)登錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
使用swiper自定義分頁(yè)點(diǎn)擊跳轉(zhuǎn)指定頁(yè)面
這篇文章主要介紹了使用swiper自定義分頁(yè)點(diǎn)擊跳轉(zhuǎn)指定頁(yè)面方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04

